JavaScript/PHP正则表达式
JavaScript/PHP Regular Expression
我正试图将名字和姓氏与这样的东西匹配。
$pattern = '/[a-zA-Z'-]{3,30} +[a-zA-Z]+/';
这个工作很好,除非我有这样的名字Mélissa Smith
我的匹配变成了Lissa Smith
如何匹配所有特殊字符,如é
在javascript中,你可以使用unicode字符范围而不是a- za -z:
"Mélissa Smith".match( /['u80-'uffff]{3,30} +['u80-'uffff]+/ )
equals: [" msamissa Smith"]
使用/u
修饰符将正则表达式置于Unicode模式,并使用适当的Unicode字符类而不是仅硬编码拉丁字母:
$pattern = '/^('pL|-){3,30}'s+'pL+$/u';
我还锚定了^
和$
之间的模式,因为否则它可能会匹配你不希望它匹配的东西。
您必须记住,当您这样做时,输入(以及模式本身)必须以UTF-8编码。
然而,必须指出的是,像这样天真地解析名字不会给你带来很好的结果。对于这么简单的东西来说,人们的全名太复杂了。
尝试使用POSIX表达式[:alpha:]而不是[a-zA-Z-]来捕获字符。[:alpha:]将捕获等效字符,如重音。
http://www.regular-expressions.info/posixbrackets.html相关文章:
- 将 Javascript 正则表达式转换为 PHP
- 在JSON中指定正则表达式字符串,在JavaScript和PHP中使用
- 将PHP中的正则表达式转换为javascript
- Javascript和PHP正则表达式来排除不同的字符
- 如何使用正则表达式根据javascript中的php电子邮件注入验证电子邮件地址
- 在php中,使用正则表达式的函数中的Onclick事件
- 将正则表达式转换为PHP
- 正则表达式提取PHP中的JavaScript变量
- Javascript正则表达式和获取所有匹配项,它类似于preg_match_all(PHP)
- 在 PHP 和 JavaScript 中使用相同的正则表达式
- PHP preg_match 在 JavaScript 正则表达式上
- 如何使用正则表达式在 PHP 中更改 URL
- 正则表达式来验证网络路径PHP,jQuery,JavaScript,Ruby
- 如何将 Php 正则表达式转换为 js
- 如何使用 php 制作正则表达式以从以下代码中抓取复杂数组
- JS正则表达式到PHP正则表达式的转换
- 如何在 Node.js 中使用我的 PHP 正则表达式
- 正则表达式使用 PHP,但不使用 Javascript
- 将 php 正则表达式转换为 javascript
- 美元符号"$"带单词边界的正则表达式""(PHP / JavaScript