grep utf8/unicode support/ u modifier



我正在尝试验证特定格式的vtt文件。正则表达式是有效的,但UTF8字符会导致问题。我尝试使用(?u),但没有运气

我使用的正则表达式是:

grep -P '(?m)^(d+:d+[.]d+s*-->s*d+:d+[.]d+|s*[ws]+)|^s*$' . -r -v

CCD_ 2标志允许正则表达式按预期工作,https://regex101.com/r/21HW2A/1,但我在grep中找不到这样做的方法。我需要将w替换为所有允许的字母数字字符吗?或者u修饰符可以在grep中使用吗?

w可以转换为p{L},而不需要u修饰符来支持unicode。

完整解决方案:

grep -P '(?m)^(d+:d+[.]d+s*-->s*d+:d+[.]d+|s*[p{L}s]+)|^s*$' . -r -v