簡體   English   中英

RegExp - 如何檢查字符串是否在某個 position 中包含 substring?

[英]RegExp - How to check if a string contains a substring in the certain position?

我試圖先搜索這個問題,但沒有找到我需要的,這里是:

我有一個類似的字符串:“substring1/substring2.substring3”(例如“library/History.read”)

我需要一個正則表達式來檢查:

  1. substring1 必須是“庫”
  2. substring2 必須以大寫字母開頭
  3. substring3 必須是“讀取”

我對正則表達式不熟悉,我寫的當前是: 'library/([a-zA-Z])\\.(read)'但它不正確。 請幫助我,謝謝!

有很多方法可以解決正則表達式問題,從您自己的嘗試開始,這里有一些可行的方法::-)

library/([A-Z][a-zA-Z]+)\.(read)

你犯了三個小錯誤:

  • . 是一個字符 class 匹配除換行符以外的任何字符。 逃離你的. 像這樣\. 不像這樣\\. ;
  • 您的第一個捕獲組正好匹配一個字母。 你錯過了量詞。 使用+量詞匹配一個或多個。
  • 正如彼得所指出的,您的第一個大寫字母缺少一個字符 class

試試這個正則表達式:

 testStrings = ["library/History.read", "library/other.read", "library/Geography.read", "library/History.unread", "ebook/hstory.read", "library/StackOverflow.read"] regex = /library\/[AZ][^\.]*\.read/ testStrings.forEach(testString => { console.log(regex.test(testString) + " - " + testString) })

暫無
暫無

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

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