Luk*_*man 5 awk regular-expression
是什么区别[+-]和[-+]。在我看来,做同样的事情。有什么作用[A-Za-z-]+?
或者我试过了
awk '/[^-]/' contries
Run Code Online (Sandbox Code Playgroud)
Kus*_*nda 10
文本指的是要匹配-括号表达式 中[...]的破折号 ,破折号必须出现在 the 中的第一个或最后一个[...](或紧接在首字母之后^,因为[^-]其中匹配任何不是破折号的单个字符)。
[+-]和之间没有区别[-+]。两者都匹配 a+或 a -。
该表达式[A-Za-z-]+将匹配多个(多于零,由于在+之后[...])ASCII 字符 from AtoZ和 from atoz 和 dashes。破折号也可以像[-A-Za-z]+.
请注意,此表达式中的内部两个破折号表示范围,而最后一个破折号(或第一个 in [-A-Za-z]+)表示文字破折号字符。
在+后[...]修改的表达,使得其一个或多个字符从内的匹配[...]。如果没有+,表达式将只匹配一个字符,而不是带有可选破折号的单词。
第二个屏幕截图显示您正在匹配[Y-Zy-z-]和[Y-Zy-z-]+针对某些数据。
对于这两种模式,您会得到相同的结果,因为这是唯一包含来自 set 的一个或多个字符的行YZyz-。匹配的-字符是子串中的字符-Asia。
然后你尝试使用[^-]. 这匹配所有行,因为所有行都包含一些不是-.