ホームページ  >  記事  >  ウェブフロントエンド  >  JS と C# で実装された定期置換関数の 2 つの例の分析

JS と C# で実装された定期置換関数の 2 つの例の分析

微波
微波オリジナル
2017-06-28 13:33:211030ブラウズ

この記事では、JS と C# で実装された 2 つの定期置換関数を主に紹介し、具体的な例に基づいて、JS と C# での文字列の定期置換の関連実装方法と注意事項を分析します。この記事の例では、JS と C# によって実装された 2 つの通常の置換関数について説明します。参考のために皆さんと共有してください。詳細は次のとおりです。

アプリケーション例 1:

処理する文字列: str="display=test name=mu display=temp"

要件:表示後の値=全てlocalhostに変更JS処理メソッド:

str.replace(/display=\w*/g,"display=localhost");

C#処理メソッド:

Regex reg=new Regex(@"display=\w*");
str=reg.Replace(str,"display=localhost");

応用例2:

処理対象文字列:str="display=test name=mu display=temp" 要件: 文字列は、display=

localhost

test name=mu display=

localhost

tempJS 処理メソッド:

var reg = /(display=)(\w*)/g;
var result;
while ((result= reg.exec(str))!=null) {
  str= str.replace(result[0], result[1] + "localhost" + result[2]);
}
C# 処理メソッド:

/// <summary>
/// 定义处理方法
/// </summary>
/// <param name="match">符合的字符串</param>
/// <returns></returns>
private string Evaluator(Match match)
{
  //(display=)(\w*) Groups按查找到的字符串再根据分组进行分组
  //第0组为整个符合的字符串,后面的组按括号顺序排
  string str =match.Groups[1].Value+"localhost"+ match.Groups[2].Value;
  return str;
}
Regex regex = new Regex(@"(display=)(\w*)");
string result = regex.Replace(str, Evaluator);

最後に、js の規則性について簡単にまとめます。

strings

の違い 1.

正規表現match和正则对象execに/gがない場合、どちらも最初に一致した文字列または文字列グループを返します(正規表現にグループがある場合)。

2.数式に /g がある場合、match は一致するすべての文字列グループを返し、グループ化を無視し、exec は最初の文字列または文字列グループを返します

PS: ここでは、非常に便利な正規表現ツールを 2 つ提供します。ご参考までに:

JavaScript

正規表現オンラインテストツール:http://tools.jb51.net/regex/javascript
正規表現オンライン生成ツール:

http://tools.jb51.net /regex/create_reg

以上がJS と C# で実装された定期置換関数の 2 つの例の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。