【问题标题】:fix regex not to detect numbers修复正则表达式不检测数字
【发布时间】:2021-08-19 06:56:28
【问题描述】:

我使用这个自定义正则表达式来检测字符串 (js) 中的单词

/[a-zA-Z_\u00C0-\u017F]+|\w+/g

我必须进行哪些更改才能使数字不匹配?

例如,在下面的字符串中

"hello, 5 this 6is :a 2021 test"

将匹配以下单词

["hello", "5", "this", "6is", "a", "2021", "test"]

但我想要这个

["hello", "this", "is", "a", "test"]

【问题讨论】:

  • 因为\w,它接受a-z、A-Z、0-9和_
  • 就用这个:/[a-zA-Z_\u00C0-\u017F]+/g
  • 您应该删除从竖线到末尾的所有内容。 \w 匹配 [A-Za-z0-9_] 并且你已经做了除了左边的数字之外的所有事情。
  • 我是 SO 新手,不知道为什么某些问题会在 cmets 中得到回答。这些不应该只是为了寻求澄清或其他信息吗?

标签: javascript node.js arrays regex string


【解决方案1】:

cmets 找到了解决办法:

删除 \w !

最终结果

/[a-zA-Z_\u00C0-\u017F]+/g

感谢 Hamza Jadid、Tim biegeleisen 和 Chris Maurer。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多