목차
Syntax
Instance
반환 값
예제
텍스트 문자열 "php" 찾기:
단어 "word" 찾기
도메인 이름 가져오기 the URL
c.preg_match_all() 함수
<b> 및 </b> 태그와 일치하는 콘텐츠 찾기: (보통 $pat_array[1]을 얻음)
d.preg_replace() 함수
返回值
实例
将 google 替换为 runoob
删除空格字符
使用基于数组索引的搜索替换
使用参数 count
e.preg_split() 函数
语法
获取搜索字符串的部分
将一个字符串分隔为组成它的字符
分隔一个字符串并获取每部分的偏移量
3.常用正则(参考作用)
백엔드 개발 PHP 튜토리얼 PHP 규칙성에 대한 내용 요약(상세)

PHP 규칙성에 대한 내용 요약(상세)

Feb 15, 2019 pm 12:00 PM
PHP 일반

이 글의 내용은 PHP 일반 내용을 요약(상세)한 것입니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

1. 일반 기본 지식

행 위치 지정자(^ 및 $)

행 위치 지정자는 문자열의 경계를 설명하는 데 사용됩니다. "$"는 줄의 끝을 나타냅니다. "^"는 줄의 시작을 나타냅니다. 예를 들어 "^de"는 de로 시작하는 문자열을 나타냅니다.

단어 구분자

an이 문자열 "gril and body"에 존재하는지 여부와 같은 단어를 찾을 때 일치하는 경우 an이 문자열 "gril and body"와 확실히 일치할 수 있다는 것은 명백합니다. , 단어의 일부가 아닌 단어와 일치하도록 하려면 어떻게 해야 할까요? 이때 단어 구분 기호 b를 사용할 수 있습니다.
banb "그릴과 신체"를 일치시키려고 하면 일치하지 않는다는 메시지가 표시됩니다.
물론 대문자 B가 있습니다. 그 의미는 정확히 b와 반대입니다. 일치하는 문자열은 완전한 단어일 수 없고 다른 단어나 문자열의 일부일 수 있습니다. BanB와 같은.

나를 나타내는 문자(|)를 선택하거나

또는을 나타내는 문자를 선택하세요. 예를 들어 Aa|aA는 Aa 또는 aA를 의미합니다. "[]"와 "|" 사용의 차이점은 "[]"는 단일 문자에만 일치할 수 있는 반면 "|"는 모든 길이의 문자열과 일치할 수 있다는 것입니다. "[]"를 사용할 때에는 a, b, c, d를 나타내는 [a-d] 등 연결문자 "-"와 함께 사용되는 경우가 많다.

문자 제외, 작업 제외

정규식은 일치하지 않는 문자를 제외하기 위해 "^"를 제공하며, ^는 일반적으로 []에 배치됩니다. 예를 들어 [^1-5]는 1에서 5 사이의 숫자가 아닙니다.

한정자 (?*+{n, m})

한정자는 주로 각 문자열의 발생 횟수를 제한하는 데 사용됩니다.

한정 캐릭터 의미
? 0회 또는 1회
* 0회 이상
+ 한 번 이상
{n} 때때로
{n,} 적어도 n번은
{n,m} n~m번

예를 들어 (D+)는 하나 이상의 D를 나타냅니다.

도트 연산자

는 모든 문자와 일치합니다(개행 제외)

식의 백슬래시()

식 수식의 백슬래시 이스케이프, 미리 정의된 문자 집합 지정, 어설션 정의, 인쇄할 수 없는 문자 표시 등 다양한 의미를 갖습니다.

이스케이프 문자

이스케이프 문자는 주로 일부 특수 문자를 일반 문자로 변환합니다. 일반적으로 사용되는 특수 문자로는 ".", "?", "" 등이 있습니다.

사전 정의된 문자 집합 지정

Characters 의미
d 십진수 [0-9]
10진수가 아닌 모든 숫자
s 모든 공백 문자(공백, 줄 바꿈, 폼 피드, 캐리지 리턴, 문자)
S 공백이 아닌 모든 문자
w 모든 단어 문자
W 단어가 아닌 문자의 수에는 제한이 없습니다

###인쇄할 수 없는 문자 표시

문자 의미
a 알람
b 백스페이스
f 페이지 변경
n 줄바꿈
r 들어가세요
t 캐릭터

대괄호 문자()

정규식에서 괄호의 주요 기능은 다음과 같습니다.

(|, *, ^)와 같은 한정자의 범위를 변경합니다.
예: 그렇지 않은 경우 (my|your)baby "()", | my 또는 yourbaby와 일치합니다. 괄호를 사용하면 mybaby 또는 yourbaby와 일치합니다.

쉽게 다시 참조할 수 있는 그룹

패턴 수정자

패턴 수정자의 역할은 패턴, 즉 정규식이 해석되는 방식을 설정하는 것입니다. PHP의 주요 패턴은 다음과 같습니다:

modifier 지침
i 대소문자 무시
m 다중 텍스트 모드
s 한 줄 텍스트 모드

x

공백 문자 무시

U Lazy 모드(기본 Greedy 모드를 쓰지 않음)

2. 일반적으로 사용되는 PHP 일반 함수 및 예제

a.preg_grep() 함수

preg_grep 함수는 패턴과 일치하는 배열 항목을 반환하는 데 사용됩니다.

Syntax

array preg_grep ( string $pattern , array $input [, int $flags = 0 ] )
로그인 후 복사

주어진 배열 입력에서 패턴 패턴과 일치하는 요소로 구성된 배열을 반환합니다.

매개변수 설명:

  • $pattern: 검색할 패턴(문자열 형식).

  • $input: 입력 배열.

  • $flags: PREG_GREP_INVERT로 설정된 경우 이 함수는 입력 배열에서 주어진 패턴 패턴과 일치하지 않는 요소 배열을 반환합니다.

Instance

배열에서 지정된 일치 요소를 반환합니다.

<?php
$array = array(1, 2, 3.4, 53, 7.9);
// 返回所有包含浮点数的元素
$fl_array = preg_grep("/^(\d+)?\.\d+$/", $array);
print_r($fl_array);
?>
로그인 후 복사

실행 결과는 다음과 같습니다.

Array
(
    [2] => 3.4
    [4] => 7.9
)
로그인 후 복사

preg_grep은 배열의 부동 소수점 숫자만 반환하는 것을 볼 수 있습니다.

b.preg_match() 함수

PHP 정규 표현식(PCRE)

preg_last_error 함수는 정규 표현식 일치를 수행하는 데 사용됩니다.

Syntax

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
로그인 후 복사

패턴으로 제공된 정규 표현식과 일치하는 항목을 검색하세요.

매개변수 설명:

$pattern: 검색할 패턴(문자열 형식).

$subject: 문자열을 입력합니다.

$matches: 매개변수 일치가 제공되면 검색 결과로 채워집니다. $matches[0]에는 전체 패턴과 일치하는 텍스트가 포함되고, $matches[1]에는 첫 번째 캡처 하위 그룹과 일치하는 텍스트가 포함됩니다.

$flags: 플래그는 다음 플래그 값으로 설정할 수 있습니다.

PREG_OFFSET_CAPTURE: 이 플래그가 전달되면 일치 항목이 발생할 때마다 문자열 오프셋(대상 문자열을 기준으로 함)이 반환됩니다. 참고: 이는 match 매개변수에 채워진 배열을 변경하여 각 요소가 0번째 요소가 일치하는 문자열이고 첫 번째 요소가 대상 문자열 subject에서 일치하는 문자열의 오프셋이 되는 문자열이 됩니다.

offset: 일반적으로 대상 문자열의 시작 부분부터 검색이 시작됩니다. 선택적 매개변수인 offset은 대상 문자열의 알 수 없는 지점부터 검색을 시작하도록 지정하는 데 사용됩니다(단위는 바이트).

반환 값

패턴 일치 개수를 반환합니다. preg_match()가 첫 번째 일치 후 검색을 중지하므로 해당 값은 0(일치 없음) 또는 1이 됩니다. preg_match_all()은 끝에 도달할 때까지 주제를 검색한다는 점에서 이와 다릅니다. 오류가 발생하면 preg_match()는 FALSE를 반환합니다.

예제

텍스트 문자열 "php" 찾기:

<?php
//模式分隔符后的"i"标记这是一个大小写不敏感的搜索
if (preg_match("/php/i", "PHP is the web scripting language of choice."))
{
echo "查找到匹配的字符串 php。";
} else {
echo "未发现匹配的字符串 php。";
} ?>
로그인 후 복사

실행 결과는 다음과 같습니다.

查找到匹配的字符串 php。
로그인 후 복사

단어 "word" 찾기

<?php
/* 模式中的\b标记一个单词边界,所以只有独立的单词"web"会被匹配,而不会匹配 * 单词的部分内容比如"webbing" 或 "cobweb" */
if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
echo "查找到匹配的字符串。\n";
} else {
echo "未发现匹配的字符串。\n";
}
if (preg_match("/\bweb\b/i", "PHP is the website scripting language of choice.")) {
echo "查找到匹配的字符串。\n";
} else {
echo "未发现匹配的字符串。\n";
} ?>
로그인 후 복사

실행 결과는 다음과 같습니다.

查找到匹配的字符串。
未发现匹配的字符串。
로그인 후 복사

도메인 이름 가져오기 the URL

<?php
// 从URL中获取主机名称
preg_match(&#39;@^(?:http://)?([^/]+)@i&#39;, "http://www.runoob.com/index.html", $matches);
$host = $matches[1];
// 获取主机名称的后面两部分
preg_match(&#39;/[^.]+\.[^.]+$/&#39;, $host, $matches);
echo "domain name is: {$matches[0]}\n";
?>
로그인 후 복사

실행 결과는 다음과 같습니다.

domain name is: runoob.com
로그인 후 복사

c.preg_match_all() 함수

PHP Regular Expression (PCRE)

preg_match_all 함수를 사용하여 전역 정규식 일치를 수행합니다.

Syntax

int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
로그인 후 복사

주어진 정규식 패턴과 일치하는 주제에서 일치하는 모든 결과를 검색하고 플래그에 지정된 순서대로 일치 항목을 출력합니다.

첫 번째 일치 항목을 찾은 후 마지막 일치 위치부터 하위 시퀀스를 계속 검색합니다.

매개변수 설명:

$pattern: 검색할 패턴(문자열 형식).

$subject: 입력 문자열

$matches: 다차원 배열, 일치하는 모든 결과를 출력 매개변수로 출력, 배열 정렬은 플래그로 지정됩니다.

$flags: 다음 플래그와 함께 사용할 수 있습니다(PREG_PATTERN_ORDER 및 PREG_SET_ORDER는 동시에 사용할 수 없습니다).

PREG_PATTERN_ORDER: 결과는 $matches[0]로 정렬되어 전체 일치 항목을 모두 저장합니다. 패턴, 첫 번째 하위 그룹의 모든 일치 항목을 저장하는 $matches[1] 등입니다.

PREG_SET_ORDER: 결과는 $matches[0]에 첫 번째 일치에서 얻은 모든 일치(하위 그룹 포함)가 포함되어 있고 $matches[1]는 두 번째 일치에서 얻은 모든 일치(하위 그룹 포함)가 포함된 배열이므로 정렬됩니다. 에.

PREG_OFFSET_CAPTURE: 이 플래그가 전달되면 발견된 각 일치 항목이 대상 문자열을 기준으로 증가된 오프셋과 함께 반환됩니다.

offset: 일반적으로 대상 문자열의 시작 부분부터 검색이 시작됩니다. 선택적 매개변수 offset은 대상 문자열의 지정된 위치에서 검색을 시작하는 데 사용됩니다(단위는 바이트).

반환 값

완전히 일치하는 항목 수(0일 수도 있음)를 반환하거나, 오류가 발생하면 FALSE를 반환합니다.

태그와 일치하는 콘텐츠 찾기: (보통 $pat_array[1]을 얻음)

<?php
$userinfo = "Name: <b>PHP</b> <br> Title: <b>Programming Language</b>";
preg_match_all ("/<b>(.*)<\/b>/U", $userinfo, $pat_array);
print_r($pat_array[0]);
?>
로그인 후 복사

실행 결과는 다음과 같습니다.

Array
(
    [0] => <b>PHP</b>
    [1] => <b>Programming Language</b>
)
로그인 후 복사

d.preg_replace() 함수

preg_replace 함수는 정규식 검색 및 바꾸기를 수행합니다.

Syntax

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
로그인 후 복사

주제에서 패턴과 일치하는 부분을 검색하여 교체로 대체합니다.

매개변수 설명:

$pattern: 검색할 패턴으로, 문자열 또는 문자열 배열일 수 있습니다.

$replacement: 대체에 사용되는 문자열 또는 문자열 배열입니다.

$subject: 검색하고 바꿀 대상 문자열 또는 문자열 배열입니다.

$limit: 선택사항, 패턴당 각 주제 문자열의 최대 대체 수입니다. 기본값은 -1(제한 없음)입니다.

$count: 可选,为替换执行的次数。(用于统计被替换的次数)

返回值

如果 subject 是一个数组, preg_replace() 返回一个数组, 其他情况下返回一个字符串。

如果匹配被查找到,替换后的 subject 被返回,其他情况下 返回没有改变的 subject。如果发生错误,返回 NULL。

实例

将 google 替换为 runoob

<?php
$string = &#39;google 123, 456&#39;;
$pattern = &#39;/(\w+) (\d+), (\d+)/i&#39;;
$replacement = &#39;runoob ${2},$3&#39;;
echo preg_replace($pattern, $replacement, $string);
?>
로그인 후 복사

执行结果如下所示:

runoob 123,456
로그인 후 복사

删除空格字符

<?php
$str = &#39;runo o b&#39;;
$str = preg_replace(&#39;/\s+/&#39;, &#39;&#39;, $str);
// 将会改变为&#39;runoob&#39; echo $str;
?>
로그인 후 복사

执行结果如下所示:

runoob
로그인 후 복사

使用基于数组索引的搜索替换

<?php
$string = &#39;The quick brown fox jumped over the lazy dog.&#39;;
$patterns = array();
$patterns[0] = &#39;/quick/&#39;;
$patterns[1] = &#39;/brown/&#39;;
$patterns[2] = &#39;/fox/&#39;;
$replacements = array();
$replacements[2] = &#39;bear&#39;;
$replacements[1] = &#39;black&#39;;
$replacements[0] = &#39;slow&#39;;
echo preg_replace($patterns, $replacements, $string);
?>
로그인 후 복사

执行结果如下所示:

The bear black slow jumped over the lazy dog.
로그인 후 복사

使用参数 count

<?php
$count = 0;
echo preg_replace(array(&#39;/\d/&#39;, &#39;/\s/&#39;), &#39;*&#39;, &#39;xp 4 to&#39;, -1 , $count);
echo $count; //3
?>
로그인 후 복사

执行结果如下所示:

xp***to
3
로그인 후 복사

e.preg_split() 函数

preg_replace 函数通过一个正则表达式分隔字符串。

语法

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
로그인 후 복사

通过一个正则表达式分隔给定字符串。

参数说明:

$pattern: 用于搜索的模式,字符串形式。

$subject: 输入字符串。

$limit: 可选,如果指定,将限制分隔得到的子串最多只有limit个,返回的最后一个 子串将包含所有剩余部分。limit值为-1, 0或null时都代表"不限制", 作为php的标准,你可以使用null跳过对flags的设置。

$flags: 可选,可以是任何下面标记的组合(以位或运算 | 组合):

PREG_SPLIT_NO_EMPTY: 如果这个标记被设置, preg_split() 将进返回分隔后的非空部分。

PREG_SPLIT_DELIM_CAPTURE: 如果这个标记设置了,用于分隔的模式中的括号表达式将被捕获并返回。

PREG_SPLIT_OFFSET_CAPTURE: 如果这个标记被设置, 对于每一个出现的匹配返回时将会附加字符串偏移量. 注意:这将会改变返回数组中的每一个元素, 使其每个元素成为一个由第0 个元素为分隔后的子串,第1个元素为该子串在subject 中的偏移量组成的数组。

返回值

返回一个使用 pattern 边界分隔 subject 后得到的子串组成的数组。

实例

获取搜索字符串的部分

<?php
//使用逗号或空格(包含" ", \r, \t, \n, \f)分隔短语
$keywords = preg_split("/[\s,]+/", "hypertext language, programming");
print_r($keywords);
?>
로그인 후 복사

执行结果如下所示:

Array
(
    [0] => hypertext
    [1] => language
    [2] => programming
)
로그인 후 복사

将一个字符串分隔为组成它的字符

<?php
$str = &#39;runoob&#39;;
$chars = preg_split(&#39;//&#39;, $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>
로그인 후 복사

执行结果如下所示:

Array
(
    [0] => r
    [1] => u
    [2] => n
    [3] => o
    [4] => o
    [5] => b
)
로그인 후 복사

分隔一个字符串并获取每部分的偏移量

<?php
$str = &#39;hypertext language programming&#39;;
$chars = preg_split(&#39;/ /&#39;, $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>
로그인 후 복사

执行结果如下所示:

Array
(
    [0] => Array
        (
            [0] => hypertext
            [1] => 0
        )

    [1] => Array
        (
            [0] => language
            [1] => 10
        )

    [2] => Array
        (
            [0] => programming
            [1] => 19
        )

)
로그인 후 복사

3.常用正则(参考作用)

一、校验数字的表达式 

1 数字:
^[0-9]*$
2 n位的数字:
^\d{n}$
3 至少n位的数字:
^\d{n,}$
4 m-n位的数字:
^\d{m,n}$
5 零和非零开头的数字:
^(0|[1-9][0-9]*)$
6 非零开头的最多带两位小数的数字:
^([1-9][0-9]*)+(.[0-9]{1,2})?$
7 带1-2位小数的正数或负数:
^(\-)?\d+(\.\d{1,2})?$
8 正数、负数、和小数:
^(\-|\+)?\d+(\.\d+)?$
9 有两位小数的正实数:
^[0-9]+(.[0-9]{2})?$
10 有1~3位小数的正实数:
^[0-9]+(.[0-9]{1,3})?$
11 非零的正整数:
^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
12 非零的负整数:
^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
13 非负整数:
^\d+$ 或 ^[1-9]\d*|0$
14 非正整数:
^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
15 非负浮点数:
^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
16 非正浮点数:
^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
17 正浮点数:
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
18 负浮点数:
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
19 浮点数:
^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ 

二、校验字符的表达式

1 汉字:
^[\u4e00-\u9fa5]{0,}$
2 英文和数字:
^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
3 长度为3-20的所有字符:
^.{3,20}$
4 由26个英文字母组成的字符串:
^[A-Za-z]+$
5 由26个大写英文字母组成的字符串:
^[A-Z]+$
6 由26个小写英文字母组成的字符串:
^[a-z]+$
7 由数字和26个英文字母组成的字符串:
^[A-Za-z0-9]+$
8 由数字、26个英文字母或者下划线组成的字符串:
^\w+$ 或 ^\w{3,20}$
9 中文、英文、数字包括下划线:
^[\u4E00-\u9FA5A-Za-z0-9_]+$
10 中文、英文、数字但不包括下划线等符号:
^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
11 可以输入含有^%&',;=?$\"等字符:
[^%&',;=?$\x22]+
12 禁止输入含有~的字符:
[^~\x22]+ 

三、特殊需求表达式 

1. 이메일 주소:
^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
2, 도메인 이름:
[a-zA - Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/ ?
3, 인터넷URL:
[a-zA-z]+://[^s]* 또는 ^http://([w-]+.)+[w-]+(/[w-. / ?%&=]*)?$
4, 휴대폰 번호:
^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7| 8| 9]|18[0|1|2|3|5|6|7|8|9])d{8}$
5 , 전화번호 ("XXX-XXXXXXX", "XXXX-XXXXXXXX", " XXX- XXXXXXX", "XXX-XXXXXXXX", "XXXXXXX" 및 "XXXXXXXX):
^((d{3,4}-)|d{3.4}-)?d{7,8}$
6 국내 전화 번호( 0511-4405222, 021-87888822):
d{3}-d{8}|d{4}-d{7}
7, ID 번호:
15 또는 18자리 ID 카드:
^d{15 } |d{18}$
15자리 신분증:
^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d) |3 [0-1])d{3}$
18자리 신분증:
^[1-9]d{5}[1-9]d{3}((0d)|(1[0- 2]) )(([0|1|2]d)|3[0-1])d{4}$
8. 짧은 ID 번호(숫자, x로 끝나는 문자):
^([0-9 ]){ 7,18}(x| 법적(문자로 시작, 5-16바이트 허용, 영숫자 밑줄 허용):
^[a-zA-Z][a-zA-Z0-9_]{4,15 }$
10, 비밀번호(문자로 시작, 길이 6~18, 문자, 숫자, 밑줄만 포함할 수 있음):
^[a-zA-Z]w{5,17}$
11, 강력한 비밀번호( 대문자, 소문자 및 숫자 조합을 포함해야 함), 특수 문자는 사용할 수 없으며 길이는 8-10):
^(?=.*d)(?=.*[a-z])(?=. *[A-Z]).{8,10}$
12. 날짜 형식:
^d{4}-d{1,2}-d{1,2}
13. 12개월(01~09) 및 1~12):
^(0?[ 1-9]|1[0-2])$
14, 매월 31일(01~09 및 1~31):
^((0?[ 1-9])|((1|2) [0-9])|30|31)$
15. 화폐 입력 형식:
16. 1. 허용되는 화폐 표시 형식에는 "10000.00 " 및 "10,000.00", "센트"가 없는 "10000" 및 "10,000":
^[1-9][0-9]*$
17. 2. 이는 0으로 시작하지 않는 모든 숫자를 의미합니다. 하지만 이는 문자 "0"이 전달되지 않는다는 의미이기도 하므로 다음 형식을 사용합니다:
^(0|[1-9][0-9]*)$
18, 3. 0 또는 숫자 0으로 시작하지 않습니다. 시작 부분에 숫자를 허용할 수도 있습니다. 음수 기호:
^(0|-?[1-9][0-9]*)$
19, 4. 이는 0 또는 숫자를 나타냅니다. 음수일 수 있으며 0으로 시작하지 않습니다. 사용자가 0으로 시작하도록 하세요. 음수 기호도 제거해 보겠습니다. 다음에 추가해야 할 것은 소수 부분입니다.
^[0 -9]+(.[0-9]+)?$
20, 5. 주의할 점은 소수점 이하 1자리 이상 있어야 하므로 "10."은 넘어가지 않고 "10"입니다. 및 "10.2"가 전달됩니다:
^[0-9]+( .[0-9]{2})?$
21. 이런 식으로 소수점 이하 두 자리가 있어야 함을 규정합니다. . 너무 가혹하다고 생각되면 다음과 같이 할 수 있습니다:
^[0-9]+(.[0- 9]{1,2})?$
22. 이렇게 하면 사용자는 하나만 쓸 수 있습니다. 이제 숫자의 쉼표를 고려해야 합니다.
^[0-9]{1,3 }(,[0-9]{3})*(.[0-9]{ 1,2})?$
23, 8.1~3자리 숫자, 그 뒤에 쉼표 + 3자리 숫자, 쉼표가 허용됨 선택 사항, 필수 아님:
^([0-9]+|[0-9]{1,3 }(,[0-9]{3})*)(.[0-9]{1,2 })?$
24. 참고: 이것이 최종 결과라는 점을 잊지 마세요. 빈 문자열이 허용된다고 생각되면 "*"로 바꿉니다(이상한 이유는 무엇입니까?) 마지막으로 기능 중에 백슬래시 제거를 사용하는 것을 잊지 마십시오. 일반적인 오류는 여기에 있습니다
25, xml 파일:
^([a- zA-Z]+-?)+[a-zA-Z0-9]+\.[x | 내에서 문자열 길이를 계산하는 데 사용할 수 있습니다(2바이트 문자의 길이는 2로 계산됩니다. ASCII 문자의 길이는 1로 계산됩니다.)
28. 빈 줄에 대한 정규식: ns*r(빈 줄을 삭제하는 데 사용할 수 있음)
29. HTML 태그에 대한 정규식:
<(S*?) [^>]*>.*?|<.*? /> (인터넷에 떠돌고 있는 버전이 너무 안좋아서 위의 버전은 부분적으로만 작동할 수 있고 여전히 작동할 수 있습니다.' 복잡하게 중첩된 태그에 대해서는 아무 작업도 수행할 수 없습니다)
30. 선행 및 후행 공백 문자의 정규 표현식: ^s*|s*$ 또는 (^s*)|(s*$) (줄을 삭제하는 데 사용할 수 있음 첫 번째 줄 끝(공백, 탭, 폼 피드 등 포함), 매우 유용한 표현)
31, Tencent QQ 번호: [1-9][0-9]{4,} (Tencent QQ 번호는 10000부터 시작) )
32, 중국 우편번호: [1-9]d{5}(?!d) (중국 우편번호는 6자리)
33, IP 주소: d+.d+.d+.d+ ( IP 주소 추출 시 유용함)

위 내용은 PHP 규칙성에 대한 내용 요약(상세)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

세션 납치는 어떻게 작동하며 PHP에서 어떻게 완화 할 수 있습니까? 세션 납치는 어떻게 작동하며 PHP에서 어떻게 완화 할 수 있습니까? Apr 06, 2025 am 12:02 AM

세션 납치는 다음 단계를 통해 달성 할 수 있습니다. 1. 세션 ID를 얻으십시오. 2. 세션 ID 사용, 3. 세션을 활성 상태로 유지하십시오. PHP에서 세션 납치를 방지하는 방법에는 다음이 포함됩니다. 1. 세션 _regenerate_id () 함수를 사용하여 세션 ID를 재생산합니다. 2. 데이터베이스를 통해 세션 데이터를 저장하십시오.

JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. Apr 05, 2025 am 12:04 AM

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

확실한 원칙과 PHP 개발에 적용되는 방법을 설명하십시오. 확실한 원칙과 PHP 개발에 적용되는 방법을 설명하십시오. Apr 03, 2025 am 12:04 AM

PHP 개발에서 견고한 원칙의 적용에는 다음이 포함됩니다. 1. 단일 책임 원칙 (SRP) : 각 클래스는 하나의 기능 만 담당합니다. 2. Open and Close Principle (OCP) : 변경은 수정보다는 확장을 통해 달성됩니다. 3. Lisch의 대체 원칙 (LSP) : 서브 클래스는 프로그램 정확도에 영향을 미치지 않고 기본 클래스를 대체 할 수 있습니다. 4. 인터페이스 격리 원리 (ISP) : 의존성 및 사용되지 않은 방법을 피하기 위해 세밀한 인터페이스를 사용하십시오. 5. 의존성 반전 원리 (DIP) : 높고 낮은 수준의 모듈은 추상화에 의존하며 종속성 주입을 통해 구현됩니다.

시스템 재시작 후 UnixSocket의 권한을 자동으로 설정하는 방법은 무엇입니까? 시스템 재시작 후 UnixSocket의 권한을 자동으로 설정하는 방법은 무엇입니까? Mar 31, 2025 pm 11:54 PM

시스템이 다시 시작된 후 UnixSocket의 권한을 자동으로 설정하는 방법. 시스템이 다시 시작될 때마다 UnixSocket의 권한을 수정하려면 다음 명령을 실행해야합니다.

phpstorm에서 CLI 모드를 디버그하는 방법은 무엇입니까? phpstorm에서 CLI 모드를 디버그하는 방법은 무엇입니까? Apr 01, 2025 pm 02:57 PM

phpstorm에서 CLI 모드를 디버그하는 방법은 무엇입니까? PHPStorm으로 개발할 때 때때로 CLI (Command Line Interface) 모드에서 PHP를 디버그해야합니다 ...

PHP에서 늦은 정적 결합을 설명하십시오 (정적 : :). PHP에서 늦은 정적 결합을 설명하십시오 (정적 : :). Apr 03, 2025 am 12:04 AM

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

PHP의 CURL 라이브러리를 사용하여 JSON 데이터가 포함 된 게시물 요청을 보내는 방법은 무엇입니까? PHP의 CURL 라이브러리를 사용하여 JSON 데이터가 포함 된 게시물 요청을 보내는 방법은 무엇입니까? Apr 01, 2025 pm 03:12 PM

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...

See all articles