我使用的是Rejex而不是C#中的复制模式。但我无法在Rejex中获得matcher()matches()方法的副本

时间:2012-11-17 15:54:42

标签: c# regex

在C#和Java中编写正则表达式是否存在语法差异?

如何在c#

中具有以下代码的等效性
Pattern.matcher(word).matches(); 

在模式中我有"\\.|[!?]+"

C#中没有Pattern类。

我正在使用Rejex而不是C#中的复制模式。但是我无法在Rejex中获得matcher()匹配方法的副本。

1 个答案:

答案 0 :(得分:0)

鉴于几乎每个正则表达式实现都有差异,我希望.NET和Java正则表达式是不同的。您可以查看他们的文档(对于.NET,它是here)。

更好的来源是Friedl的掌握正则表达式,它涵盖了不同正则表达式引擎(包括Java和.NET的不同)的详细信息。

要匹配.NET中的正则表达式,请使用Regex类。例如:

Match results = myRegex.Match(myString);

其中Match的实例包括单个(如上所述)或多个(使用方法Matches)匹配和任何捕获的所有详细信息。或者其属性Success当然是假的。


如果rejex表示Rejex the JavaScript regular expression editor,则表示将使用JavaSript正则表达式引擎;这又是不同的。