我在Sublime中使用RegEx搜索工具。我需要选择所有包含非字母字符(空格除外)的行。
例如
Hedgehog's shoes
The Fox Machine
The Armadillo`s wish
在上面,将选择整个刺猬和犰狳线,因为它们包含非字母字符。不会选择狐狸线。
这是我的代码:
.*[^a-zA-Z\s]
说明
.* - Selects string
[^] - Ignore everything in the square brackets
a-zA-Z - Ignores all alphabet characters
\s - Ignores Space
从理论上讲应该是可行的,但事实并非如此。它只会选择不符合要求的字符之前的所有内容,之后不进行任何选择。
请注意,我正在寻找可在Sublime的“查找和替换”中使用的解决方案。如果在Sublime中无法做到这一点,那么我该如何修改代码,以便可以通过MacOS终端搜索整个文件目录?
我认为在终端中这样做
for f in *; do '.*[^a-zA-Z\s]'
但这也不起作用。
PS。在Stackoverflow上已经有关于此的问题(例如这个)。但是他们只处理选择单个字符而不是整个行。
我建议使用
.*[^[:alpha:]\s].*
.*[^[:alpha:][:space:]].*
细节
.*
-除换行符以外的任何零个或多个字符,并尽可能多[^[:alpha:]\s]
/ [^[:alpha:][:space:]]
-除字母或空格字符外的任何字符.*
-除换行符以外的任何零个或多个字符,并尽可能多参见SublimeText演示:
注意您可以[^[:alpha:][:space:]]
在MacOS终端中使用grep
:
grep '[^[:alpha:][:space:]]' file
观看在线演示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句