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 A
toZ
和 from a
toz
和 dashes。破折号也可以像[-A-Za-z]+
.
请注意,此表达式中的内部两个破折号表示范围,而最后一个破折号(或第一个 in [-A-Za-z]+
)表示文字破折号字符。
在+
后[...]
修改的表达,使得其一个或多个字符从内的匹配[...]
。如果没有+
,表达式将只匹配一个字符,而不是带有可选破折号的单词。
第二个屏幕截图显示您正在匹配[Y-Zy-z-]
和[Y-Zy-z-]+
针对某些数据。
对于这两种模式,您会得到相同的结果,因为这是唯一包含来自 set 的一个或多个字符的行YZyz-
。匹配的-
字符是子串中的字符-Asia
。
然后你尝试使用[^-]
. 这匹配所有行,因为所有行都包含一些不是-
.