簡體   English   中英

以數字之間的字符開頭和結尾的正則表達式

[英]Regex expression for start and end with characters in between numbers

我在 javascript 中有要求,其中單詞的開頭和結尾是數字之間的字符。 例如 S652354536667U

我試過模式

(/[A-Z]\d+[A-Z]$/).test(S652354536667U) // returns true ok
(/[A-Z]\d+[A-Z]$/).test(S65235Y4536667U) // returns true needed false

但它允許像 S65235Y4536667U 之間的字符被接受。

任何幫助表示贊賞。

謝謝

您需要在正則表達式的開頭放置一個插入符號,以指示第一個字母位於字符串的開頭,即:

^[A-Z]\d+[A-Z]$

你錯過了^ 它應該是:

^[A-Z]\d*[A-Z]$

您可以使用此站點快速測試您的正則表達式: https://regexr.com/

你一開始就離開了插入符號

 ["S652354536667U", "S65235Y4536667U"].forEach(item => { console.log(/^[AZ]\d+[AZ]$/.test(item)) })

您需要在 reg ex 中將 ^ 放在開頭,將 $ 放在末尾。 否則,如果模式匹配輸入中的其他任何地方,它將返回 true

(/^[A-Z]\d+[A-Z]$/).test(S652354536667U) // returns true 
(/^[A-Z]\d+[A-Z]$/).test(S65235Y4536667U) // returns true 

檢查下圖。 它沒有指定開始 position。 所以,從匹配 reg ex 的字符 'Y'

在此處輸入圖像描述

下面是與起始 position

在此處輸入圖像描述

暫無
暫無

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

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