-4

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

如何在 c# 中具有以下代码的等价性

Pattern.matcher(word).matches(); 

我在哪里"\\.|[!?]+"

C#中没有Pattern类。

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

4

1 回答 1

0

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

一个更好的来源是 Friedl 的Mastering Regular Expressions,它详细介绍了不同的正则表达式引擎(包括 Java 和 .NET 的不同)。

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

Match results = myRegex.Match(myString);

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


如果rejex您的意思是Rejex 是 JavaScript 正则表达式编辑器,那么它将使用 JavaSript 正则表达式引擎;这又是不同的。

于 2012-11-17T16:05:21.953 回答