在 C# 和 Java 中编写正则表达式是否存在语法差异?
如何在 c# 中具有以下代码的等价性
Pattern.matcher(word).matches();
我在哪里"\\.|[!?]+"
C#中没有Pattern
类。
我正在使用 Rejex 而不是在 C# 中复制的 Pattern。但我无法在 Rejex 中获取方法 matcher() matches() 的副本。
鉴于几乎每个正则表达式实现都有差异,我希望 .NET 和 Java 正则表达式是不同的。您可以查看他们的文档(对于 .NET,请参见此处)。
一个更好的来源是 Friedl 的Mastering Regular Expressions,它详细介绍了不同的正则表达式引擎(包括 Java 和 .NET 的不同)。
要匹配 .NET 中的正则表达式,请使用Regex
该类。例如。:
Match results = myRegex.Match(myString);
其中的实例Match
包括单个(如上)或多个(使用方法Matches
)匹配和任何捕获的所有详细信息。或者它的属性Success
当然是假的。
如果rejex
您的意思是Rejex 是 JavaScript 正则表达式编辑器,那么它将使用 JavaSript 正则表达式引擎;这又是不同的。