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

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

半空間、半空間或零空間的正則表達(dá)式 POSIX 表達(dá)式

半空間、半空間或零空間的正則表達(dá)式 POSIX 表達(dá)式

PHP
翻閱古今 2022-07-09 10:34:19
有一個 POSIX 括號表達(dá)式列表,如[:alnum:], [:alpha:]...https://www.regular-expressions.info/posixbrackets.html哪一個是半空間或半空間或零空間?EDIT1:實際上,我regex_replace在 smarty 代碼中使用 PHP,如下所示{$title|regex_replace:'/[^[:punct:][:alnum:][:space:]]/u':''}此代碼用空值替換所有字符,除了標(biāo)點(diǎn)符號、字母數(shù)字和空格。但不幸的是,它也用空字符串替換了半個空格。例如:unicode persian string $title = '?This is a test'將更改為“這是一個測試”。但正確的字符串應(yīng)該是 'This is a test'如您所見,它還將“??????”中的半個空格替換為空值并將其轉(zhuǎn)換為“?????”我想阻止它。EDIT2:半空間或零空間是:十進(jìn)制字符代碼:8204十六進(jìn)制字符代碼:0x200cHTML 字符參考:‌Java 字符串:\u200c解決方案:如果我將波斯語(波斯語)鍵盤添加到 Windows 并將鍵盤語言更改為波斯語(波斯語),那么如果我使用 SHIFT+SPACE 在兩個最新的括號 ]] 之間添加半個空格,效果很好?。簕$title|regex_replace:'/[^[:punct:][:alnum:][:space:]?]/u':''}(使用波斯語鍵盤的最新兩個括號之間有一個半空格字符)但不幸的是,它不能使用十六進(jìn)制代碼\x200c,我不知道為什么???
查看完整描述

2 回答

?
慕虎7371278

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

標(biāo)準(zhǔn) POSIX 字符類通常捕獲字符類。如果您想匹配字符U+2002,那么只需完全匹配該字符,字面意思或使用您的編程語言支持的任何符號表示。


Python:


r = re.compile('\u2002')

if r.match(somestring):

    ...

當(dāng)然,您不需要正則表達(dá)式:


if '\u2002' in somestring:

    ...

(我猜你的意思是 U+2002;還有許多其他空格,其中沒有一個名稱完全包含“半空格”。[:space:]當(dāng)然,現(xiàn)代 POSIX 應(yīng)該匹配所有空格。)


更新:如果 PHP[:space:]不正確地 POSIX 和/或 Unicode 兼容,可能只需將代碼點(diǎn)添加到您的表達(dá)式中。


{$title|regex_replace:'/[^[:punct:][:alnum:][:space:]\x{2002}]/u':''}

(對一系列 unicode 點(diǎn) PHP 的正則表達(dá)式表示贊賞)


查看完整回答
反對 回復(fù) 2022-07-09
?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗 獲得超7個贊

在應(yīng)用實際的正則表達(dá)式之前,您可以將任何分隔符 ( \p{Z}) 替換為標(biāo)準(zhǔn)的完整空格。在這里按順序進(jìn)行:

preg_replace(['/(\p{Z})/', '[^[:punct:][:alnum:][:space:]]/u'], [' ', ''], $title)


查看完整回答
反對 回復(fù) 2022-07-09
  • 2 回答
  • 0 關(guān)注
  • 144 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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