正则表达式识别以下字符串

时间:2017-04-16 17:51:19

标签: regex

任何人都可以帮我写一个正则表达式来识别以下内容(包括破折号和由1或2个字母字符组成的不同页码或1到3个数字的字符串)。

- - - - - - - - - - - - - - - - - - [begin page 90] - - - - - - - - - - - - - - - - - - 

非常感谢!我非常感谢你的帮助。

3 个答案:

答案 0 :(得分:1)

这应该这样做:

^[-\s]+\[begin page (\d{1,3}|\w{1,2})\][-\s]+$


^                  --start of string
[-\s]+             -- first group of dashes
\[begin page       -- begin page literal
(\d{1,3}|\w{1,2})  -- 1 to 3 digits or 2 letters
\]                 -- end of begin page 
[-\s]+             -- trailing group of dashes
$                  -- end of string

link:https://regex101.com/r/hqF9hd/1/

答案 1 :(得分:0)

怎么样:

[- ]*\[begin page ([\d\w]+)\][- ]*

请参阅https://regex101.com/r/ftBJ3I/2

  • [- ]*跳过空格和破折号
  • \[匹配[
  • ([\d\w]+)匹配数字和字母数字并以群组形式捕获
  • \]匹配]
  • [- ]*跳过空格和破折号

答案 2 :(得分:0)

匹配第一部分:[ -]{36}
匹配第二部分:\[begin page (?:[A-Z]{1,2}|\d{1,3})\]
匹配第三部分:[ -]{36}

汇总:

^[- ]{36}\[begin page (?:[A-Z]{1,2}|\d{1,3})\][ -]{36}$

带有标志:g表示全局
................ i用于区分大小写的 ................ m用于多行