正则表达式:以特定词开头,不包含词组

时间:2018-07-12 06:54:14

标签: regex

我有一些不同样式的文本,如下所示:

bg_table1
bg_table2
bg_table3

mp_table1
mp_table2
mp_table3

user_profile 
action_history
artifact_group

如果有人可以提供“正则表达式”样本供您选择,那就太好了

  1. 文本仅以 bg _ mp _ 开头

    mp_table1
    mp_table2
    mp_table3
    
  2. 文本不是以 bg _ mp _ 我将提供的其他任何模式开头

    user_profile
    action_history
    artifact_group
    

谢谢!

1 个答案:

答案 0 :(得分:2)

使用它来匹配bg / mp / others

\b(?:bg|mp)_\S+

https://regex101.com/r/HIo1nl/1/

使用此选项不匹配bg / mp / others:

\S+(?<!\b(?:bg|mp))_\S+

https://regex101.com/r/Sgj9HE/2/

我已经用\S+来表示“除空格之外的任何东西”。如果您想限制更多,可以用\w+[a-zA-Z0-9]+或其他任何内容代替

\w+允许使用字母,数字和_

[a-zA-Z0-9]+仅允许使用字母和数字。