我有一个JavaScript正则表达式,基本上可以找到两个字母的单词。问题似乎是它将重音字符解释为字边界。实际上,似乎我该如何制作一个正则表达式来考虑重音字符?
词边界(“\ B”)是一个点的字符 两者之间,有一个“\ W” 在其一侧,并且“\ W”上 其他(按任一顺序), 将虚数字符关闭 字符串的开头和结尾为匹配“\ W”的 。 AS3 RegExp to match words with boundry type characters in them
而且,由于
\瓦特任何字母数字字符 (字字符)包括 下划线匹配(短和[a-ZA-Z0-9_])。 \ W任何非字匹配的字符 (简称[^ A-ZA-Z0-9_]) http://www.javascriptkit.com/javatutors/redev2.shtml
明显重音字符不考虑。这成为一个问题,如Montréal
。如果é
被视为单词边界,则al
是一个双字母单词。我试图让自己的字边界允许重音字符的定义,但看到作为字边界甚至不是一个字符,我不完全知道如何去寻找它..
任何帮帮我?
下面是相关的JavaScript代码,搜索userInput
和使用re_state
正则表达式查找两个字母的单词:
var re_state = new RegExp("\\b([a-z]{2})[,]?\\b", "mi");
var match_state = re_state.exec(userInput);
document.getElementById("state").value = (match_state)?match_state[1]:"";
这并没有改变什么...... – Shawn 2010-09-12 17:12:47
呀,type属性是不是即使在HTML5因为它不是没有浏览器的支持,这是人们在解释规范时犯的一个错误。 charset元标记起作用,但链接中的charset不是真实的。 – 2010-09-12 18:00:52
@Rich Bradshaw:我的头部有。你是这个意思吗? – Shawn 2010-09-12 18:15:02