代码之家  ›  专栏  ›  技术社区  ›  d-_-b

正则表达式筛选日语

  •  1
  • d-_-b  · 技术社区  · 15 年前

    我要允许a-z、a-z和日语汉字、平假名和片假名,其他都不允许。 到目前为止,我想到了:

    $pattern = '/[^\w\x{3041}-\x{3094}\x{30A1}-\x{30fA}\x{30fC}\x{4E00}-\x{9FFF}_\-]+/u';
    preg_replace($pattern, '', $string);
    

    我不确定这种形式的regex是否特定于PHP。我接受URL中的字符串,并希望过滤掉引号和其他“危险”字符。上面的“模式”有点奇怪,不管有没有“D”,数字都不匹配。

    所以下面的步骤是一样的:

    $pattern = '/[^\d\w\x{3041}-\x{3094}\x{30A1}-\x{30fA}\x{30fC}\x{4E00}-\x{9FFF}_\-]+/u';
    

    我对任何改进或更正都感兴趣-我自己不是一个regex向导。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Matthew Flaschen    15 年前

    \w [A-Za-z0-9_]