我试图用一个捕获组编写一个PCRE,它在两个字符串中寻找数值。
案例A:
有/有一个线程(S)在总数是由这个阀门监测,并可能被卡住。
案例B:
有/仍然有10个线程(S)是由这个阀门监测和可能卡住。
我已经编写了一个正则表达式,当在case A上运行时,它返回"1",但是对于B,它返回错误的结果“仍然”。我如何写一个将返回"1“的A和"10”的B?
我现在拥有的是:
There\s+is.are\s+(?<threadNumber>[^\s]+)]发布于 2017-08-30 00:06:11
您可以在数字部分之前添加一个可选的(?:\S+\s+)?,以匹配可选的"word“,并且只使用\d+匹配数字:
There\s+is.are\s+(?:\S+\s+)?(?<threadNumber>\d+)
^^^^^^^^^^^ ^^^详细信息
There -一个文字子字符串\s+ -1或更多空白空间is -一个文字子字符串. -除断行字符以外的任何字符are -一个文字子字符串\s+ -1或更多空白空间(?:\S+\s+)? -一个可选的序列:\S+ - 1+非空白字符\s+ -1或更多空白空间
(?<threadNumber>\d+) -1或更多位数(threadNumber组)。https://stackoverflow.com/questions/45949969
复制相似问题