Lua正则表达式为ascii(0-127)字符

时间:2016-11-29 09:11:26

标签: regex lua hex ascii

我正在使用LUA并试图在某些输入字符串中替换非ascii字符 我使用[^\x00–\x7F]正则表达式但得到以下错误:
格式错误的模式(缺少']') 我也使用[^[:ascii:]],但它不起作用。
我认为[^\x00–\x7F]是正确的方法,但我可能错过了一些逃避 请帮忙!

1 个答案:

答案 0 :(得分:3)

替换非ascii字符:

string.gsub(your_string, "[\128-\255]", what_they_should_be_replaced_with)

替代方式:

string.gsub(your_string, "[^%z\1-\127]", what_they_should_be_replaced_with)

对于UTF-8文本:

string.gsub(your_string, "[\192-\255][\128-\191]*", what_they_should_be_replaced_with)