正则表达式\\(

来源:百度知道 编辑:UC知道 时间:2024/06/03 19:44:21
请问在正则表达式中,我想匹配(,用:\\(可以做到,但为什么不是\(呢?但斜杠和双斜杠有什么区别么?另外/与\的区别是什么呢?谢谢!

其实原因很简单, 如果你使用的是一个不使用\作为转义符的语言,你可以在正则表达式中使用\(, 但java是使用\作为转义, 所以你编程时在字串里写\(, 连编译都通不过. \\(是个java正则表达式写法的折衷处理.

正则表达式不清楚
\是特殊字符(转义符) 要想表达\的意思就得打\\
/就是普通的符号 和ABCabc是一样的
另外在代表路径的时候/可以代表\
所以你可以写"c:\\1.txt"或者"c:/1.txt"
而且网络地址只能用/
所以我的理解就是/是万能的,嘎嘎

归根到底就一句话:为了和元字符区别开来。就一定要用转义。

不同的语法不一样。
VBscript里面字符串用"框起来,所以字符串中用到"地方要用""表示。\用一个就够了,所以vbscript中表示(只用\(。另外表示<>不用\<、\>也行,用了也没错。

Java中(如楼上samletwu说的)需要用\\,那么这是语言的限制,而不是正则表达式的限制。

另外,虽然有时候vbscript表示<>不用加\,但为了移植性,还是加上去为好。其他语言类似,最好增强可移植性。