【问题标题】:Detect Russian characters with grep用 grep 检测俄语字符
【发布时间】:2013-01-12 03:05:07
【问题描述】:

我正在尝试使用 grep 检测俄语字符,但目前我所拥有的似乎没有做任何事情:

 echo "Ёё" | grep -Eo "/[А-Яа-яЁё]/u"

不返回任何输出。我需要做些什么来告诉 grep 返回输出吗?

【问题讨论】:

    标签: regex shell unicode utf-8 grep


    【解决方案1】:

    没有输出,因为 grep 正在寻找模式 /yourletters/u

    试试这个:

      echo "Ёё" | grep -Eo "[А-Яа-яЁё]*"
    

    在这里测试:

    kent$  echo "Ёё" | grep -Eo "[А-Яа-яЁё]*"
    Ёё
    

    【讨论】:

    • 谢谢!所以我不需要提供 /u 修饰符?
    • 很高兴知道 /u 修饰符.. 这是什么意思?我没有在 grep 手册页中找到它...
    • 嗯,在 PHP 中,这意味着模式字符串被视为 UTF-8。我猜这是grep的默认设置? (因为它确实输出正确)
    • 1,您没有将问题标记为 php。 2.我对php一无所知(几乎)...... :(如果你想让它与grep一起工作,我猜你不需要它。
    • 你可以使用 grep -f pattern.txt。将您的模式放入 pattern.txt。这适用于西里尔字母。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    相关资源
    最近更新 更多