匹配zsh正则表达式中的unicode字符

匹配zsh正则表达式中的unicode字符,第1张

概述我想确保变量不包含特定字符(在本例中为’α’),但以下代码失败(返回1): FOO="test" && [[ $FOO =~ '^[^α]*$' ]] 编辑:根据下面stema的反馈更改模式,要求从头到尾只匹配“非””字符. 用例如’α’替换’α’ ‘x’按预期工作.为什么它以’α’失败,我怎样才能使这个工作? 系统信息: $zsh --versionzsh 4.3.11 (i386-apple 我想确保变量不包含特定字符(在本例中为’α’),但以下代码失败(返回1):

FOO="test" && [[ $FOO =~ '^[^α]*$' ]]

编辑:根据下面stema的反馈更改模式,要求从头到尾只匹配“非””字符.

用例如’α’替换’α’ ‘x’按预期工作.为什么它以’α’失败,我怎样才能使这个工作?

系统信息:

$zsh --versionzsh 4.3.11 (i386-apple-darwin11.0)$localeLANG="en_GB.UTF-8"LC_ColLATE="en_GB.UTF-8"LC_CTYPE="en_GB.UTF-8"LC_MESSAGES="en_GB.UTF-8"LC_MONETARY="en_GB.UTF-8"LC_NUMERIC="en_GB.UTF-8"LC_TIME="en_GB.UTF-8"LC_ALL="en_GB.UTF-8"

编辑2:我现在在运行Ubuntu 11.10的linux机器上进行了测试,其中zsh 4.3.11具有相同的语言环境设置,并且它可以工作 – 即FOO =“test”&& [[$FOO =〜’^ [^α] * $’]]返回成功.我正在运行Mac OS X 10.7.2.

解决方法 用这个正则表达式.* [^α].*你不能测试α不在字符串中.测试的是:字符串中是否有一个字符不是α.

如果要检查字符串中是否没有此字符,请执行此 *** 作

FOO="test" && [[ $FOO =~ '^[^α]*$' ]]

这将检查从开始到结尾的完整字符串是否由非“α”字符组成.

总结

以上是内存溢出为你收集整理的匹配zsh正则表达式中的unicode字符全部内容,希望文章能够帮你解决匹配zsh正则表达式中的unicode字符所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1019542.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存