使用正则表达式匹配包含数字和特殊字符的字符串

时间:2015-05-10 22:48:51

标签: java regex string

我正在尝试使用正则表达式来匹配字符串。字符串是这样的。它以"图"然后是一个空格,然后是任意随机数,然后是:,然后是空格,然后是随机的字符流。我制作的正则表达式如下:

                   String pattern="Figure\\s\\d:\\s\\w+";

但它不起作用,并返回false表示字符串:

Figure 1: Prototype architecture

3 个答案:

答案 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:原型架构"将是真实的。

我认为在正则表达式结束时使用$是个好主意。但在这种情况下不是必要的。