【问题标题】:Why does this regex not work: '\([0-9a-zA-z]*\)';为什么这个正则表达式不起作用:'\([0-9a-zA-z]*\)';
【发布时间】:2010-09-25 18:52:26
【问题描述】:

我想要删除包含在括号中的字符串部分。

例如,可以从“Hello (World)”转到“Hello”。

我使用var input2 = '\([0-9a-zA-z]*\)'; 作为我的表达式语句,并使用正则表达式来匹配这个模式。

谁能告诉我我出了什么问题?我一定是错误地转义了“(”和“)”。

【问题讨论】:

  • 我们在这里处理的是什么语言?

标签: regex


【解决方案1】:

A-z 应该是A-Z

如果您想安全地使用这些反斜杠,请将反斜杠转义,以便分别得到 \\(\\),尽管我认为反斜杠没有任何问题。

【讨论】:

  • 不要认为 [A-z] 会阻止它进行数学运算。匹配 A-Z []^_` 和 a-z
  • @justintime:我不认为他的意思是作为解决方案。但是[A-z]显然是个错别字,不指出就是失职了。
【解决方案2】:

这是 JavaScript 吗?如果是这样,您要么需要像@BoltClock 所说的那样转义反斜杠,要么使用正则表达式文字:

var input2 = /\([0-9a-zA-Z]*\)/;

【讨论】:

  • 投反对票的人愿意解释原因吗?如果我不知道它是什么,我就无法纠正我的错误。 :D
猜你喜欢
  • 2021-09-06
  • 2018-08-27
  • 1970-01-01
  • 2013-12-05
相关资源
最近更新 更多