2012-05-25 20 views

回答

2

它们不做任何事情不同,它们限定了正则表达式(在需要它的语言)。

区别在于:正则表达式中该字符的行为确实发生了变化。正则表达式分隔符变成了一个额外的特殊字符,需要转义(==>选择一个在正则表达式中不需要的分隔符!)。注意:在PHP中,你甚至可以使用正则表达式的特殊字符,如+|作为正则表达式分隔符,但只有在正则表达式中不需要该字符(不推荐)时才有效。 related answer

1

在某些语言中,您可以选择分隔符,而在其他语言中则不能。

每当它出现在正则表达式中时,您都必须转义该分隔符。选择表达式中未出现的分隔符可减少转义需求,使表达式更易于阅读。

以下两个正则表达式是相同的,只是第一用途/作为分隔符,而第二个使用#

 
/http:\/\/example\.com\/.*\/foo\// 
#http://example\.com/.*/foo/#