【发布时间】:2015-12-26 02:37:54
【问题描述】:
我需要一个正则表达式来查找我的模式的所有匹配项。
文字是这样的:
"someother text !style_delete [company code : 43ev4] between text !style_delete [organiztion : 0asj9] end of line text"
我想找到该模式的所有匹配项:
!style_delete [.*]
我试过这样:
Pattern pattern = Pattern.compile("!style_delete\\s*\\[.*\\]");
有了这个匹配文本是这样的:
!style_delete [company code : 43ev4] between text !style_delete [organiztion : 0asj9]
但我预计如下:
match 1 : !style_delete [company code : 43ev4]
match 2 : !style_delete [organiztion : 0asj9]
请帮帮我,java 中的正则表达式会得到什么输出。
【问题讨论】:
-
能否提供一个您尝试匹配的文本示例?
-
您可以将括号中的
.*替换为[^]]*。这将匹配方括号内的所有内容而不是右方括号,因此您不会意外消耗太多。 -
要尝试您的正则表达式模式,您可以随时使用一些在线正则表达式测试器(谷歌“在线正则表达式”有一些)。我经常使用regex101.com
-
正则表达式必须在正斜杠之间,例如 /regexp*/