我正在使用一些正则表达式来匹配文档中的所有合并代码..
合并代码是这样的。
##customer.name
##customer.eployee.address
等等
我制作了这个非常简单的正则表达式
\S*##\S*
这可以帮助我匹配几乎所有情况,因为它使用空格作为“分隔符”并且适用于以下三个示例:
1
##customer.name ##customer.address
2
##customer.name ##customer.address
3
##customer.name ##customer.address
但不在这些中:
1
##customer.name##customer.address
2
##customer.name,##customer.address
3
##customer.name--##customer.address
我知道每次遇到新的##时我都必须重新开始,但我一直在尝试的所有事情似乎都不起作用。
搜索后尝试了这个,但没有成功:(
\S*##[^##\s]*
任何建议将不胜感激:)
谢谢
最佳答案
您可以使用以下两种方法之一:
##[^#\s]+\b
##\w+(?:\.\w+)*
参见regex demo #1和 regex demo #2 .
详细信息
##
- 匹配##
子字符串[^#\s]+\b
- 除#
和空格之外的任何 1+ 个字符,尽可能多,但应停在最右边的单词边界\w+(?:\.\w+)*
- 匹配 1+ 个字母/数字/下划线,然后匹配任意 0 个或多个.
和 1+ 个字母序列/数字/下划线。
关于正则表达式将合并代码与双主题标签相匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54236204/