【问题标题】:alternative for "(?"“(?”的替代品
【发布时间】:2020-04-21 09:38:28
【问题描述】:

我们有一个包含(?!\s) 的正则表达式,但使用的正则表达式引擎不允许使用前瞻断言。完整的正则表达式是

^(?!\s)(.*)(\S)$

任何人都可以建议任何替代方法来实现相同功能而不使用前瞻。

【问题讨论】:

  • 感谢您的帮助。完整的正则表达式如下。如果需要任何其他详细信息,请告诉我。谢谢。模式:^(?!\s)(.*)(\S)$
  • 使用^\S(.*\S)?$^\S(?:.*\S)?$
  • 谢谢。这个 ^\S(?:.*\S)?$ 还是有 "(?"

标签: regex whitespace regex-lookarounds


【解决方案1】:

你可以使用

^\S(.*\S)?$

会匹配

  • ^ - 字符串开头
  • \S - 非空白字符
  • (.*\S)? - 1 或 0 次
    • .* - 除换行符以外的任何 0+ 个字符,尽可能多
    • \S - 非空白字符
  • $ - 字符串结束。

使用不允许前瞻的 Go 正则表达式引擎 (RE2) 查看 regex demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 2012-01-25
    • 2015-08-05
    • 2011-01-01
    • 2011-10-24
    • 2011-05-31
    • 2023-03-21
    相关资源
    最近更新 更多