第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

正則表達(dá)式匹配 next 是空格或字符串結(jié)尾

正則表達(dá)式匹配 next 是空格或字符串結(jié)尾

PHP
HUWWW 2022-10-14 10:06:05
我的 regfu 已被拒絕...而且我無法獲得預(yù)期的匹配。以下是需要匹配和不需要匹配的示例:NLNL LLLNLN LL LLNNLL LL LLLNLN LLL LLLLNN LL LLL <-- 跳過因?yàn)椋褐恍枰? 到 3 對由一個空格分隔的字母哪些是連續(xù)到字符串結(jié)尾的\s{1}([A-Z]{2})很接近,但也抓住了上面skip的一部分。為什么?我需要從字符串中獲取姓名首字母。字符串中附加了 1、2 或 3 人的姓名首字母。我將用 PHP 抓取那些來存儲它們。
查看完整描述

1 回答

?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個贊

您可以使用


if (preg_match('~(?: [A-Z]{2})+$~', $s, $match)) {

    print_r(explode(" ", trim($match[0])));

}

在這里,(?: [A-Z]{2})+$匹配一個或多個空格序列,然后匹配兩個大寫 ASCII 字母直到字符串結(jié)尾,然后explode(" ", trim($match[0]))將修剪后的匹配與空格分割成塊。


或者,如果您想用一個正則表達(dá)式調(diào)用匹配所有出現(xiàn):


if (preg_match_all('~(?:\G(?!\A)|(?=(?:\s[A-Z]{2})+$))\s\K[A-Z]{2}~', $s, $matches)) {

    print_r($matches[0]);

}

在這里,正則表達(dá)式匹配:

  • (?:\G(?!\A)|(?=(?:\s[A-Z]{2})+$))- 上一個匹配的結(jié)尾 ( \G(?!\A)) 或 ( |) 緊跟一個或多個空格序列的位置,然后是兩個大寫 ASCII 字母,直到字符串結(jié)尾

  • \s- 一個空格

  • \K- 匹配重置運(yùn)算符

  • [A-Z]{2}- 兩個大寫的 ASCII 字母。

請參閱PHP 演示。


查看完整回答
反對 回復(fù) 2022-10-14
  • 1 回答
  • 0 關(guān)注
  • 200 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號