假设我在grep
中有以下正则表达式:
grep -E 'head \x1E tail'
我可以使用其个人转义码grep
让\x
了解非ascii字符。
我可以在不调用任何外部程序的情况下对Bash执行相同的操作吗? Bash提供了3种匹配正则表达式的模式:
这些似乎都不支持UTF转义码,也不支持Bash本身。
答案 0 :(得分:1)
在bash中,您可以使用ANSI引用的字符串:
$ x=éclair
$ [[ $x =~ $'\xc3\xa9' ]] && echo matched
matched
请注意,您必须指定字符的UTF-8编码,因为ANSI引用的字符串不接受任意Unicode代码点。