在C#和Java中编写正则表达式是否存在语法差异?
如何在c#
中具有以下代码的等效性Pattern.matcher(word).matches();
在模式中我有"\\.|[!?]+"
C#中没有Pattern
类。
我正在使用Rejex而不是C#中的复制模式。但是我无法在Rejex中获得matcher()匹配方法的副本。
答案 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正则表达式引擎;这又是不同的。