【问题标题】:Regular expressions on substring [duplicate]子字符串上的正则表达式[重复]
【发布时间】:2016-07-27 04:24:46
【问题描述】:

我需要将城市名称与通过正则表达式列出的城市列表进行比较。问题是,如果我尝试 "Roma" ,得到 "Arcinazzo Romano" 城市(包含 ROMA )而不是 "ROMA" 城市。你知道告诉我一个正常的功能吗?

【问题讨论】:

  • 你能展示你试过的代码吗?
  • /^Roma$/i 包括开始和结束标识符以及不区分大小写的标志

标签: javascript regex


【解决方案1】:

您可以简单地检查您的特定术语是否被空格包围或位于字符串的开头或结尾:

(^|\s)Roma($|\s)

一个实际的例子可能如下所示:

或者,如果您只是明确地想检查您的字符串是否完全是“Roma”,没有其他字符,只需使用表达式开始/结束字符:

^Roma$

【讨论】:

    【解决方案2】:

    如果要搜索名称“Roma”的城市,而不是名称​​包含“Roma”的城市,使用分隔符检查指定的字符串是否开始并且以“Roma”结尾,使用^(字符串开始)分隔符和$(字符串结尾)分隔符,如下所示:

    ^Roma$
    

    【讨论】:

      【解决方案3】:

      尝试使用锚来保证 ROMA 是行首

      /^ROMA/
      

      http://regexone.com/lesson/line_beginning_end

      【讨论】:

      • @ʰᵈˑ 您编辑了答案的含义。请把它留给海报。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-27
      • 1970-01-01
      相关资源
      最近更新 更多