不包含某字串的字串匹配 正規表示式

2021-05-12 18:49:46 字數 862 閱讀 8817

判斷乙個字串中是否含有另一字串,有很多方法,如下:

1. 常見函式

strstr($str, "abc");

2. 正則匹配

preg_match("/(abc)/is", $str);

但是要匹配乙個字串中,不包含某字串,用正則就比較麻煩了。

1. 如果不用正則如下就可以解決問題

!strstr($str, "abc");

2. 但是用正則呢,就只有這樣了

preg_match("/^((?!abc).)*$/is", $str);

完整**示例

$str = "dfadfadf765577abc55fd";

$pattern_url = "/^((?!abc).)*$/is";

if (preg_match($pattern_url, $str))

else

結果為:false,含有abc!

同時匹配,包含字串 "abc",而且不包含字串 "xyz"的正規表示式:

preg_match("/(abc)[^((?!xyz).)*$]/is", $str);

該方法有效,本人使用方法如下:

(?:(?!).|/n)*? //匹配不含

的乙個字串

但最終使用中結果是發現,該方法效率極其低下,在處理非常短文本(要匹配該正則式的相同部分的有十幾個字,或者最多幾十個)時間可以考慮使用,但當用於大篇幅文章解析或多處需要改種匹配時間應不使用,考慮用其他方法替代(如:先解析出要匹配該段正則式的文字,然後驗證其中是否存在某段文字),正規表示式對於匹配不含特定字串的文字段時並不是非常有效的方法.

js判斷某字串是否包含某字串

使用string物件的方法 1.indexof 返回字串在字串中首次出現的位置。如果沒有返回 1。if nameslist i indexof 河南 1 2.search 返回乙個或多個匹配的字串,如果沒有找到任何匹配的子串,則返回 1。if nameslist i search 河南 1 3.ma...

php 判斷某字串中是否包含某字串的方法

php的strpos 函式 返回字串在另乙個字串中第一次出現的位置,如果沒有找到該字串,則返回 false。用法 strpos string,find,start 引數說明 string 必需,規定被搜尋的字串。find 必需,規定要查詢的字元。start 可選,規定開始搜尋的位置。注意 該函式對大...

php 字串表示,php字串是否包含某字串

編寫程式的時候,經常要處理字串,最基本就是字串的查詢,在php檢測字串中是否包含指定字串可以使用以下函式 strpos string,find start string 必需。規定要搜尋的字串。find 必需。規定要查詢的字元。start 可選。規定開始搜尋的位置。str abcdefghi fin...