[英]Java and .Net Regular Expressions
Java和.Net Framework正则表达式模式之间的区别
我试图转换我的.Net Framework但模式无效
任何人都可以指出正则表达式模式的主要差异
例如,我们如何命名java中的分组结构等。
最重要的是:
@"\\s"
变为"\\\\s"
) (?(?=regex)then|else)
) 大多数其他差异很小。 上面没有提到的一个区别是Java缺乏对平衡(递归)正则表达式的支持,我希望你不必使用它。
如果您需要转换许多复杂的正则表达式,请考虑投资RegexBuddy ,它将为您做到这一点。
......还有一个实用信息。 我不确定“Java不支持lookbehinds中的无限重复”是什么意思,但AFAIK和我现在测试的内容,.NET在子串(某处)寻找匹配,但Java需要适应来自原点的模式源字符串。
快速举例:
任务:是文件名word文件? (示例demo.docx)
.NET解决方案: \\.docx$
(这将在“demo.docx”上成功,因为模式位于文件名的某处
Java解决方案: .*\\.docx$
(您需要指定前缀.*
以确保模式可以从文件中的任何位置开始..NET模式在Java实现中不起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.