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

bash

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

翻訳:

  • 行は少なくとも 1 つの文字で始まります (大文字は無視)
  • 任意の量のスペース、PCL、任意の量のスペース
  • 6 から 9 までの数字、または 2 桁以上の数字

この式を次のように使用するとgrep "$EXPR" file.txt、有効な行が stdout に出力されます。

于 2013-11-14T13:08:07.127 に答える
0

これはあなたのニーズに合うはずです:

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

正規表現の視覚化

Debuggexによる可視化

于 2013-11-14T13:08:51.490 に答える
0

これは私にとってはうまくいきました。マッチングを説明した方法に従って論理的にも読み取ります

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

于 2013-11-14T14:38:11.117 に答える