提问人:user3783243 提问时间:3/5/2022 更新时间:3/5/2022 访问量:159
grep utf8/unicode support/ u 修饰符 [duplicate]
grep utf8/unicode support/ u modifier [duplicate]
问:
我正在尝试验证特定格式的 vtt 文件。正则表达式正常工作,但 UTF8 字符导致问题。我尝试使用但没有运气(?u)
我使用的正则表达式是:
grep -P '(?m)^(\d+:\d+[.]\d+\s*-->\s*\d+:\d+[.]\d+|\s*[\w\s]+)|^\s*$' . -r -v
https://regex101.com/r/21HW2A/1,该标志允许正则表达式在此处按预期工作,但我在 .我是否需要将 换成所有允许的字母数字字符,或者可以以某种方式使用修饰符吗?u
grep
\w
u
grep
答:
0赞
user3783243
3/5/2022
#1
可以转换为不需要修饰符来支持 unicode。\w
\p{L}
u
完整解决方案:
grep -P '(?m)^(\d+:\d+[.]\d+\s*-->\s*\d+:\d+[.]\d+|\s*[\p{L}\s]+)|^\s*$' . -r -v
评论
\p{L}
\w
GNU grep 2.20