一、在java字符串中如果出現斜杠,
1、當成轉義字符 " \ " 時,后面必須接八進制數字進行ASCII轉義輸出成其它字符,
2、當成字符串字面值斜杠直接輸出時,必須用雙斜杠"\\"轉義為單斜杠
二、在字符串正則匹配使用時注意:
1、反斜線字符 ('\') 用於引用轉義構造,同時還用於引用其他將被解釋為非轉義構造的字符。因此,表達式 \\ 與單個反斜線匹配,而 \{ 與左括號匹配。
根據 Java Language Specification 的要求,Java 源代碼的字符串中的反斜線被解釋為 Unicode 轉義或其他字符轉義。因此必須在字符串字面值中使用兩個反斜線,表示正則表達式受到保護,不被 Java 字節碼編譯器解釋。例如,當解釋為正則表達式時,字符串字面值 "\b" 與單個退格字符匹配,而 "\\b" 與單詞邊界匹配。字符串字面值 "\(hello\)" 是非法的,將導致編譯時錯誤;要與字符串 (hello) 匹配,必須使用字符串字面值 "\\(hello\\)"。
附贈
C語言常用轉義字符表 和 ASCII碼表完整版
ASCII值 |
控制字符 |
ASCII值 |
控制字符 |
ASCII值 |
控制字符 |
ASCII值 |
控制字符 |
0 |
NUT |
32 |
(space) |
64 |
@ |
96 |
、 |
1 |
SOH |
33 |
! |
65 |
A |
97 |
a |
2 |
STX |
34 |
” |
66 |
B |
98 |
b |
3 |
ETX |
35 |
# |
67 |
C |
99 |
c |
4 |
EOT |
36 |
$ |
68 |
D |
100 |
d |
5 |
ENQ |
37 |
% |
69 |
E |
101 |
e |
6 |
ACK |
38 |
& |
70 |
F |
102 |
f |
7 |
BEL |
39 |
, |
71 |
G |
103 |
g |
8 |
BS |
40 |
( |
72 |
H |
104 |
h |
9 |
HT |
41 |
) |
73 |
I |
105 |
i |
10 |
LF |
42 |
* |
74 |
J |
106 |
j |
11 |
VT |
43 |
+ |
75 |
K |
107 |
k |
12 |
FF |
44 |
, |
76 |
L |
108 |
l |
13 |
CR |
45 |
- |
77 |
M |
109 |
m |
14 |
SO |
46 |
. |
78 |
N |
110 |
n |
15 |
SI |
47 |
/ |
79 |
O |
111 |
o |
16 |
DLE |
48 |
0 |
80 |
P |
112 |
p |
17 |
DCI |
49 |
1 |
81 |
Q |
113 |
q |
18 |
DC2 |
50 |
2 |
82 |
R |
114 |
r |
19 |
DC3 |
51 |
3 |
83 |
X |
115 |
s |
20 |
DC4 |
52 |
4 |
84 |
T |
116 |
t |
21 |
NAK |
53 |
5 |
85 |
U |
117 |
u |
22 |
SYN |
54 |
6 |
86 |
V |
118 |
v |
23 |
TB |
55 |
7 |
87 |
W |
119 |
w |
24 |
CAN |
56 |
8 |
88 |
X |
120 |
x |
25 |
EM |
57 |
9 |
89 |
Y |
121 |
y |
26 |
SUB |
58 |
: |
90 |
Z |
122 |
z |
27 |
ESC |
59 |
; |
91 |
[ |
123 |
{ |
28 |
FS |
60 |
< |
92 |
/ |
124 |
| |
29 |
GS |
61 |
= |
93 |
] |
125 |
} |
30 |
RS |
62 |
> |
94 |
^ |
126 |
~ |
31 |
US |
63 |
? |
95 |
— |
127 |
DEL |
轉義字符 |
含義 |
ASCII碼(16/10進制) |
\o |
空字符(NULL) |
00H/0 |
\n |
換行符(LF) |
0AH/10 |
\r |
回車符(CR) |
0DH/13 |
\t |
水平制表符(HT) |
09H/9 |
\v |
垂直制表(VT) |
0B/11 |
\a |
響鈴(BEL) |
07/7 |
\b |
退格符(BS) |
08H/8 |
\f |
換頁符(FF) |
0CH/12 |
\’ |
單引號 |
27H/39 |
\” |
雙引號 |
22H/34 |
\\ |
反斜杠 |
5CH/92 |
\? |
問號字符 |
3F/63 |
\ddd |
任意字符 |
三位八進制 |
\xhh |
任意字符 |
二位十六進制 |
字符常量中使用單引號和反斜杠以及字符常量中使用雙引號和反斜杠時,都必須使用轉義字符表示,即在這些字符前加上反斜杠。
在C程序中使用轉義字符\ d d d或者\ x h h可以方便靈活地表示任意字符。\ d d d為斜杠后面跟三位八進制數,該三位八進制數的值即為對應的八進制A S C I I碼值。\ x后面跟兩位十六進制數,該兩位十六進制數為對應字符的十六進制A S C I I碼值。
使用轉義字符時需要注意以下問題:
1)轉義字符中只能使用小寫字母,每個轉義字符只能看作一個字符。
2) \v垂直制表和\f換頁符對屏幕沒有任何影響,但會影響打印機執行響應操作。
3)在C程序中,使用不可打印字符時,通常用轉義字符表示
注:
1,\v垂直制表和\f換頁符對屏幕沒有任何影響,但會影響打印機執行響應操作。
2,\n其實應該叫回車換行。換行只是換一行,不改變光標的橫坐標;回車只是回到行首,不改變光標的縱坐標。
3,\t光標向前移動四格或八格,可以在編譯器里設置
4,\'在字符里(即單引號里)使用。在字符串里(即雙引號里)不需要,只要用'即可。
5,\?其實不必要。只要用?就可以了(在windows VC6和tc2中驗證)。