以下正则表达式适用于匹配任何搜索查询(最多25个字符),以“如何”字样开头,作为Google自定义搜索中的促销查询:
How\b.{0,25}\b
但是,当我使用非拉丁语UTF-8单词时,它不起作用,例如阿拉伯语“كيف”:
كيف\b.{0,25}\b
任何人都知道解决方案吗?
答案 0 :(得分:0)
我对Google自定义搜索并不十分熟悉,但似乎这是一个JavaScript正则表达式,对吗?
如果是这样,那么问题是\b
表示“单词”字符和“非单词”字符之间的边界,其中“单词”字符是ASCII字母,下划线或数字( [A-Za-z_0-9]
)。
没有真正的通用解决方案; JavaScript根本不知道有关ASCII范围之外的单个字符的任何信息,因此它无法分辨哪些是字母而哪些不是。但你可以这样写:
/^كيف(?:\s.{0,24})?$/
匹配任何 单词كيف
的查询,或者由单词كيف
后跟空白字符和最多24个字符组成。我认为这应该非常接近满足你的要求。