我的正则表达式有问题,我试图在特殊字符串之后提取字符串/数字/任何内容。
我有这个字符串:
测试3098
TEST和它的值之间有6个空格,但是我不确定它是否总是6个空格。 我正在尝试使用此正则表达式(PCRE)
(?<=TEST\s\s\s\s\s\s).*?(?=\s)
结果应该是3098。使用正则表达式,我得到了正确的结果,但是它不够强大,如果空格数量发生变化,我将无法提取它。 后面的尺寸应有限。 有什么建议吗?
答案 0 :(得分:1)
您可以使用
TEST\s*\K\S+
如果应将空白数设置为某个最小/最大数,请使用limiting quantifier,\s{2,}
将匹配两个或多个,\s{1,10}
将允许1到10个空白。
详细信息
TEST
-TEST
\s*
-0个或多个空格\K
-match reset operator忽略了与整体匹配存储缓冲区相距甚远的文本\S+
-1个以上非空格请参见regex demo