开发者

.NET to Java Regular Expression

开发者 https://www.devze.com 2023-01-09 13:47 出处:网络
I am converting from .NET to Java and the following .NET Regular expression fai开发者_C百科ls. (?<before>.{0,10})\" + mSearchTerm + \"(?<after>.{0,255})

I am converting from .NET to Java and the following .NET Regular expression fai开发者_C百科ls.

(?<before>.{0,10})" + mSearchTerm + "(?<after>.{0,255})

There are 2 named groups here, but the named part is not important to me.


The named groups are the only thing I see that won't work in Java, but you seem to have left off some quotation marks. Try this:

Pattern p = Pattern.compile("(.{0,10})" + mSearchTerm + "(.{0,255})");


In addition to the answer given by Alan Moore, the upcoming jdk7 will support named groups in regular expressions. See http://download-llnw.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html for details.

Also, if you are building a regex from a searchstring that is not a regex itself, it would be better to use Pattern.quote(searchString), so that all special characters are properly escaped.

0

精彩评论

暂无评论...
验证码 换一张
取 消