我试图理解反斜杠以及如何在正则表达式中使用像\
这样的转义。
我已经读过,当使用字符串时,其命名为转义字符串。
但这究竟意味着什么?
答案 0 :(得分:2)
正则表达式中的许多字符具有特殊含义。例如,点字符'。'意味着"任何一个角色"。这些特殊定义的角色有很多,有时你想搜索,而不是使用它的特殊含义。
请参阅此示例以搜索包含'。':
的任何文件名/^[^.]+\..+/
在这个例子中,有3个点,但我们的描述说我们只是寻找一个点。让我们按点分解:
因此,反斜杠用于"转义"紧随其后的人物;因此,它被称为"转义字符"。这只意味着角色的特殊意义在那个地方消失了。
现在,转义一个字符串(用正则表达式术语)意味着找到具有特殊含义的所有字符并在它们前面放一个反斜杠,包括在其他反斜杠字符前面。如果您已经在字符串上完成了这一次,那么您已正式"转义字符串"。
答案 1 :(得分:1)
正则表达式中的反斜杠(\)表示以下之一:
后面的字符是一个特殊字符,如下一节中的表所示。例如,\ b是一个锚点,表示正则表达式匹配应从单词边界开始,\ t表示制表符,\ x020表示空格。
- 醇>
否则将被解释为非转义语言构造的字符应按字面解释。例如,大括号({)开始定义量词,但是后跟大括号(\ {)的反斜杠表示正则表达式引擎应该与大括号匹配。类似地,单个反斜杠标记转义语言构造的开头,但是两个反斜杠(\)表示正则表达式引擎应该与反斜杠匹配。
答案 2 :(得分:1)
假设你试图打印出一个字符串,让我们说'#34;这个\"。 该\字符被识别为特殊字符。我不确定正则表达式,但是用Java或C表示,\ t会将字符串的其余部分选中,因此它将打印为
this hat
但是\"逃脱"字符串中的一个字符,使其具有规则含义,因此使用"这个\#&相反会导致
this\that
我希望这会有所帮助。