更改正则表达式以允许英文和日文字符
Posted
技术标签:
【中文标题】更改正则表达式以允许英文和日文字符【英文标题】:Change RegEx to allow for both English & Japanese characters 【发布时间】:2013-02-15 13:41:21 【问题描述】:这是我的正则表达式代码:
"onlyLetterSp":
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Letters only"
如何更改此设置以允许英文字符和日文字符?
【问题讨论】:
你有我的注意,先生,我会和你一起等待答案。不知道如何帮助你:( 我对 JS 的回答(也可用于 php),但目前,我正在研究更完整的答案...***.com/questions/15033196/… 看看here 的任何 unicode 字 char 减数字,它似乎是 \pL 但它已经晚了,而且文档很大,所以我只是略读。认为使用大写字母很奇怪,因为这些通常是否定的。该文档显示了排除希腊语等集合的示例。我希望这很有用。 @VictoriaFrench:PCRE、AFAIK 未实现集合交集和集合减法。只有 Java 正则表达式实现字符集交集和并集。 您的标签有点混乱。我得到[正则表达式]。代码看起来像 javascript,所以我得到了 [jquery] 之一。但是 [php] 呢? 【参考方案1】:我找到了这个链接:
http://www.localizingjapan.com/blog/2012/01/20/regular-expressions-for-japanese-text/
对于不同类型的日语显然有几种不同的字符集。
例如平假名是:
[\x3041-\x3096]
【讨论】:
我想检查英文字符和日文。 @MarshallHouse:那只是平假名。日文文本也由片假名和汉字(属于 CJK 表意文字块)组成。 也许 /^[\x3041-\x3096\x30A0-\x30FF\x3400-\x4DB5\x4E00-\x9FCB\xF900-\xFA6A\x2E80-\x2FD5a-zA-Z]+/u $/ (不确定 /u 是在 $/ 之前还是之后。我一直在读 /u 是需要的。 这显然是要走的路。将 unicode 间隔放入 regexp 类中。【参考方案2】:您一定在寻找u
正则表达式修饰符,它代表Unicode。有了它,您可以使用诸如 \w
之类的 POSIX 符号来包含您喜欢的任何“单词”字符
【讨论】:
以上是关于更改正则表达式以允许英文和日文字符的主要内容,如果未能解决你的问题,请参考以下文章
Oracle中如何用正则表达式检测某个字段是不是带有日文字符