日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php 正则表达式 中括号 转义符能转换一个字符串吗,转义字符,正则表达式,特殊字符,模式匹配...

發(fā)布時間:2023/12/20 php 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 正则表达式 中括号 转义符能转换一个字符串吗,转义字符,正则表达式,特殊字符,模式匹配... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.常見的轉(zhuǎn)義字符

字母前面加上反斜線 "\" 來表示常見的那些不能顯示的ASCII字符.稱為轉(zhuǎn)義字符。如 \0, \t, \n 等。

轉(zhuǎn)義字符

意義

ASCII碼值(十進制)

\a

響鈴(BEL)

007

\b

退格(BS) ,將當(dāng)前位置移到前一列

008

\f

換頁(FF),將當(dāng)前位置移到下頁開頭

012

\n

換行(LF) ,將當(dāng)前位置移到下一行開頭

010

\r

回車(CR) ,將當(dāng)前位置移到本行開頭

013

\t

水平制表(HT) (跳到下一個TAB位置)

009

\v

垂直制表(VT)

011

\\

代表一個反斜線字符''\'

092

\'

代表一個單引號(撇號)字符

039

\"

代表一個雙引號字符

034

\0

空字符(NULL)

000

\ddd

1到3位八進制數(shù)所代表的任意字符

三位八進制

\xhh

1到2位十六進制所代表的任意字符

二位十六進制

2.正則表達式中的特殊字符

在表達式中有特殊意義,需要在它前面添加?"\"?才能當(dāng)作普通文本字符來使用。

使用正則表達式regex匹配特殊字符(2種方法記憶):

方法1:首先加"\"匹配該特殊字符本身,然后在轉(zhuǎn)義字符(即"\")前加"\"

方法2:在特殊字符前加"\\"(或者使用[]),特別的"\"需要使用"\\\\"來匹配

字符

說明

input

regex1

regex2

^

匹配輸入字符串的開始位置。要匹配?"^"?字符本身,請使用?"\^"

"^"

\\^

[^]

$

匹配輸入字符串的結(jié)尾位置。要匹配?"$"?字符本身,請使用?"\$"

"$"

\\$

[$]

.

匹配除了換行符(\n)以外的任意一個字符。要匹配小數(shù)點本身,請使用 "\."

"."

\\.

[.]

[ ]

用來自定義能夠匹配'多種字符' 的表達式。要匹配中括號,請使用?"\["?和 "\]"

"["

\\[

[\\[]

*

修飾匹配次數(shù)為0次或任意次。要匹配?"*"?字符本身,請使用 "\*"

"*"

\\*

[*]

\

將下一個字符標(biāo)記為或特殊字符、或原義字符、或向后引用、或八進制轉(zhuǎn)義符。

"\\"

\\\\

?

修飾匹配次數(shù)為0次或1次。要匹配?"?"?字符本身,請使用 "\?"

"?"

\\?

[?]

+

修飾匹配次數(shù)為至少1次。要匹配?"+"?字符本身,請使用 "\+"

"+"

\\+

[+]

{ }

修飾匹配次數(shù)的符號。要匹配大括號,請使用?"\{"?和 "\}"

"{"

\\{

[{]

|

左右兩邊表達式之間?"或"?關(guān)系。匹配?"|"?本身,請使用 "\|"

"|"

\\|

[|]

( )

標(biāo)記一個子表達式的開始和結(jié)束位置。要匹配小括號,請使用?"\("?和 "\)"

"("

\\(

[(]

3. java中使用正則表達式的情況

(1) String

public boolean matches(String regex)

public String replaceAll(String regex, String replacement)

public String replaceFirst(String regex, String replacement)

public String[] split(String regex)

(2) Pattern

public static Pattern compile(String regex)

public static boolean matches(String regex, CharSequence input)

典型的調(diào)用順序是

Pattern p = Pattern.compile("a*b");

Matcher m = p.matcher("aaaaab");

boolean b = m.matches();

在僅使用一次正則表達式時

boolean b = Pattern.matches("a*b", "aaaaab");

java 示例

1 /**

2 * @title 密碼驗證,規(guī)則:長度8~30,不能含有#和空格,至少含有數(shù)字、大寫、小寫、特殊字符中的3種3 *@parampassword4 *@returnboolean5 */

6 private static booleanvalidatePassword(String password) {7 if(StringUtils.isBlank(password)) {8 return false;9 }10 //長度8~30

11 if (password.length() < 8 || password.length() > 30) {12 return false;13 }14 //不能含有#和空格

15 if (password.contains("#") || password.contains(" ")) {16 return false;17 }18 int typecount = 0;19 //如果含有數(shù)字

20 if (Pattern.matches(".*[0-9]+.*", password)) {21 typecount++;22 }23 //如果含有大寫字母

24 if (Pattern.matches(".*[A-Z]+.*", password)) {25 typecount++;26 }27 //如果含有小寫字母

28 if (Pattern.matches(".*[a-z]+.*", password)) {29 typecount++;30 }31 //如果含有特殊字符

32 if (Pattern.matches(".*[^A-Za-z0-9]+.*", password)) {33 typecount++;34 }35 //至少含有數(shù)字、大寫、小寫、特殊字符中的3種

36 if (typecount < 3) {37 return false;38 }39 return true;40 }

總結(jié)

以上是生活随笔為你收集整理的php 正则表达式 中括号 转义符能转换一个字符串吗,转义字符,正则表达式,特殊字符,模式匹配...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。