java如何正确地转义这个字符串?
我想申请一个复杂的正则表达式。以下是我的模式:
/(?:^|\s|[\.(\+\-\,])(?:\$?)\$((?:[0-9]+(?=[a-z])|(?![0-9\.\:\_\-]))(?:[a-z0-9]|[\_\.\-\:](?![\.\_\.\-\:]))*[a-z0-9]+)/i
如何将其声明为字符串并确保所有内容都已转义
你可以在下面搜索框中键入要查询的问题!
我想申请一个复杂的正则表达式。以下是我的模式:
/(?:^|\s|[\.(\+\-\,])(?:\$?)\$((?:[0-9]+(?=[a-z])|(?![0-9\.\:\_\-]))(?:[a-z0-9]|[\_\.\-\:](?![\.\_\.\-\:]))*[a-z0-9]+)/i
如何将其声明为字符串并确保所有内容都已转义
# 1 楼答案
只要有一个稍微静态的解决方案就足够了,如果您使用的是EclipseIDE,您可以选择在从剪贴板粘贴时正确转义字符串
偏好->;Java->;编辑->;打字->;[x] 粘贴时转义文本
# 2 楼答案
在我看来,正则表达式中似乎有很多不必要的东西
(?:\$?)
的东西与\$?
一样所以你真正能做的是:
至于把它放在一个字符串中,你真正需要担心的就是反斜杠。这些需要加倍(“\”)。外部“/”字符将被删除,后面的“i”修饰符将被传递到
Pattern.compile()
方法中