【问题标题】: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),但目前,我正在研究更完整的答案...stackoverflow.com/questions/15033196/…
  • 看看here 的任何 unicode 字 char 减数字,它似乎是 \p{L} 但它已经晚了,而且文档很大,所以我只是略读。认为使用大写字母很奇怪,因为这些通常是否定的。该文档显示了排除希腊语等集合的示例。我希望这很有用。
  • @VictoriaFrench:PCRE、AFAIK 未实现集合交集和集合减法。只有 Java 正则表达式实现字符集交集和并集。
  • 您的标签有点混乱。我得到[正则表达式]。代码看起来像 JavaScript,所以我得到了 [jquery] 之一。但是 [php] 呢?

标签: php jquery regex


【解决方案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 符号来包含您喜欢的任何“单词”字符

【讨论】:

    猜你喜欢
    • 2011-03-05
    • 2015-02-20
    • 1970-01-01
    • 2017-09-25
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多