我正在尝试使用正则表达式来匹配字符串。字符串是这样的。它以"图"然后是一个空格,然后是任意随机数,然后是:
,然后是空格,然后是随机的字符流。我制作的正则表达式如下:
String pattern="Figure\\s\\d:\\s\\w+";
但它不起作用,并返回false表示字符串:
Figure 1: Prototype architecture
答案 0 :(得分:1)
你最后错过了一个\ s \ w +。尝试:
"Figure\\s\\d:\\s\\w+\\s\\w+"
你的正则表达式只匹配:
Figure 1: Prototype
答案 1 :(得分:1)
Figure\s*\d\s*\:.*
您的示例在号码后面没有空格,因此请在\s
之后删除\d
,或者使用\s*
将其设为可选。你也想在colin之后匹配任何东西,所以在此之后使用.*
来说什么。
使用https://regex101.com/进行游戏和学习。
答案 2 :(得分:0)
图1:原型架构适用于:
^Figure[ ]\d:[ ].+$
小心,如果你忘了和^这个字符串"某事:图1:原型架构"将是真实的。
我认为在正则表达式结束时使用$是个好主意。但在这种情况下不是必要的。