【问题标题】:Specific regex to match different cases匹配不同情况的特定正则表达式
【发布时间】:2020-07-04 20:09:54
【问题描述】:

我正在为以下表达式寻找 ONE 正则表达式:

“AAA_AAA_Bbb_Bbb”

“AAA_AAA_bbb_bbb”

“AAA_Bbb_Bbb”

“AAA_bbb_bbb”

B 是大写字母。

b 是字母或数字。

我需要把每个 B/b 和它们之间的每个下划线都带上。

我使用这个正则表达式:"([a-z0-9\s+]{1,})" 来尝试匹配我的表达式,但它没有考虑大写 B。

预期结果是“Bbb_Bbb”或“bbb_bbb”。

你知道怎么做吗?

提前感谢您的帮助。如果您需要更多信息,我随时为您服务。

韩国,

一个'

【问题讨论】:

  • 这不是很清楚。您只想在正则表达式中添加大写字母吗? [A-Za-z0-9_\s]+ / [\w\s]+?
  • 我很抱歉不清楚。我需要取除表达式开头的大写字母之外的所有内容。我设法用我的正则表达式做到了这一点,但我还需要在表达式的第二部分包含一些大写字母的情况。
  • 我不确定预期的结果是什么。请编辑问题以包含它们
  • 也许你需要^[A-Z]+(?:_[A-Z]+)*?见regex101.com/r/0OLsN4/1
  • 我添加了预期的结果。

标签: regex data-cleaning


【解决方案1】:

你可以替换

^[A-Z]+(?:_[A-Z]+)*_

带有一个空字符串。请参阅regex demo。

详情

  • ^ - 字符串开头
  • [A-Z]+ - 1+ 个大写字母
  • (?:_[A-Z]+)* - _ 0 次或多次重复,然后是 1+ 大写字母
  • _ - 一个 _ 字符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多