【发布时间】:2012-10-18 08:05:42
【问题描述】:
我需要一个用于 Javascript 的 RegEx,它将匹配第 1-4 行中的字符串“smith”,但不匹配下面第 5-8 行中的字符串。
带编号的行是 Access 数据库中的字段(字段不包含数字)。
到目前为止我所拥有的是:
var xy = 'smith';
MyString = new RegExp('(^|\\W)' + xy + '(\\W|$)', 'i');
这与第 1-4 行中的 Smiths 以及第 7 行和第 8 行中的 Smiths 匹配。
如何让表达式也忽略前面或后面有连字符的 Smiths?
- 史密斯、琼斯、威尔逊
- 史密斯·琼斯·威尔逊
- 琼斯、史密斯(小)、威尔逊
- 琼斯、威尔逊、史密斯
- 阿罗史密斯,琼斯
- 威尔逊,史密森
- 琼斯、史密斯-崔德斯通、威尔逊
- 威尔逊、布莱克利-史密斯、琼斯
经过一周和几十次尝试,我请教专家!
【问题讨论】:
-
当我在W之前写了两个斜线时,我在消息预览窗口中只看到了一个斜线。我必须写四个反斜杠才能在预览窗口中看到两个反斜杠。我点击了提交,却没有意识到最终显示与预览版本不对应。
-
我编辑了问题(以及相应的答案)以反映您的实际代码(使用正确数量的反斜杠)。
标签: javascript regex hyphen