亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

正則表達式 帶或不帶特殊字符的阿拉伯字母

正則表達式 帶或不帶特殊字符的阿拉伯字母

慕桂英3389331 2023-07-20 17:38:33
我有以下正則表達式來匹配阿拉伯字母。我還想接受以下字符,.()-和空格字符,但是現在它使用布爾值或在組之間,阿拉伯字母應該是強制符,因此它不會接受例如僅空格或上面列出的任何字符。不應匹配沒有阿拉伯字母的字符 ,()-應該匹配.()-,????????????????????.(?)-,^([\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufbc1]|[\ufbd3-\ufd3f]|[\ufd50-\ufd8f]|[\ufd92-\ufdc7]|[\ufe70-\ufefc]|[\ufdf0-\ufdfd])*$
查看完整描述

1 回答

?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

如果我沒看錯的話,規則是:

  1. 必須至少有一個阿拉伯文字字符

  2. 必須僅包含阿拉伯文字、空格和,.()-

如果是這樣,您想要:

  • 對字符串中某個位置的阿拉伯字符進行正向預測,并結合

  • ^$錨點要求它們之間的所有內容都是阿拉伯語或.,()-或空格

如果是這樣,您可以使用 Unicode 屬性轉義(ES2018+,在最新的 Firefox、Chrome/Chromium、Safari、Brave 和 Edge [v79+] 中受支持;或者您可以使用 http://xregexp.com 等庫) / ):

const rex = /^(?=.*?\p{Script_Extensions=Arabic})[- ().,\p{Script_Extensions=Arabic}]+$/u;

實例:

const rex = /^(?=.*?\p{Script_Extensions=Arabic})[- ().,\p{Script_Extensions=Arabic}]+$/u;


const shouldNotMatch = [" ", ",()-"];


const shouldMatch = ["??????????", ".()-,??????????", "??????????.(?)-,"];


for (const str of shouldNotMatch) {

    const result = rex.test(str);

    console.log(str, result, result ? "ERROR" : "Good");

}


for (const str of shouldMatch) {

    const result = rex.test(str);

    console.log(str, result, result ? "Good" : "ERROR");

}


查看完整回答
反對 回復 2023-07-20
  • 1 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號