1

我需要一点正则表达式的帮助。我希望正则表达式验证以下句子:

fdsufgdsugfugh PCL 6
dfdagf PCL 11
fdsfds PCL6
fsfs PCL13
kl;klkPCL6
fdsgfdsPCL13

一些字符,比 PCL 和 6 或更大的数字。如何做到这一点?

4

4 回答 4

2

我会用这样的东西: ^(.*)(PCL *)([6-9][0-9]*|[1-5][0-9]+)$

意义:

  • (.*)=一些字符
  • (PCL *)= 然后是带有可选空格的 PCL
  • ([6-9][0-9]*|[1-5][0-9]+)然后是 6 或更大的数字
于 2013-11-14T13:15:48.000 回答
0

这对我来说效果很好。根据您描述匹配的方式也可以从逻辑上阅读

/[^PCL]+PCL\s?*[6-9]\d*/

于 2013-11-14T14:38:11.117 回答
0

bash

EXPR=^[a-zA-Z]\+ *PCL *\([6-9]\|[0-9]\{2,\}\)

翻译:

  • 行以至少 1 次出现的字符开头(忽略大写字母)
  • 任意数量的空格,PCL,任意数量的空格
  • 介于 6 或 9 之间的数字,或至少有 2 位数字的数字

与类似内容一起使用的这个表达式grep "$EXPR" file.txt将在标准输出中输出有效的行。

于 2013-11-14T13:08:07.127 回答
0

这应该适合您的需求:

^.*PCL\s*(?:[6-9]|\d{2,})$

正则表达式可视化

Debuggex可视化

于 2013-11-14T13:08:51.490 回答