簡體   English   中英

使用正則表達式來檢查字符串是否以一個下划線和兩個字母以php結尾

[英]Regular Expression to check if string ends with one underscore and two letters with php

我正在嘗試檢查在舊的php系統中字符串是否以_和兩個字母結尾。 我在這里檢查了stackoverflow的答案,我發現有一個想做同樣的事情,但有一個. 和兩位數。

我試圖對其進行更改以適應我的需求,我得到了:

\\\\.*\\\\_\\\\a{2,2}$

然后我去了php並嘗試了這個:

$regex = '(\\\\.*\\\\_\\\\a{2,2}$)'; echo preg_match($regex, $key);

但這總是返回錯誤,並說如下:

preg_match(): Delimiter must not be alphanumeric or backslash

我發生這種情況是因為我不能使用反斜杠或其他東西,我該如何正確執行呢? 而且,我的正則表達式是否正確(我不知道該如何形成這些表達式以及它們如何工作)?

^.*_[a-zA-Z]{2}$

這應該為您做。

    $re = "/^.*_[a-zA-Z]{2}$/"; 
    $str = "abc_ac"; 

    preg_match($re, $str);

您可以將此正則表達式與定界符一起使用:

$regex = '/_[a-z]{2}$/i';

您會收到此錯誤,因為在PHP中,每個正則表達式都需要一個定界符(不使用/ ,它可以是~等其他任何字符)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM