2
我基於變量的結果即時創建正則表達式。我已經成功地測試了大部分表達式,但是我正在努力處理可能長度不同的部分。正則表達式匹配部分或全部字符串
我該如何修改正則表達式(a_)?c(davison)\.nsf?
以便下面的任何字符串都可以歸類爲匹配項?
- a_cdavis.nsf
- cdavison.nsf
- cdaviso.nsf
- cdavis.nsf
從本質上講,被認爲是一個匹配,字符串必須符合下列條件 -
- 「(a_)?」 - 可以開始與「A_」,但不必
- 「C」 - 必須包含小寫字母「c」
- 「(戴維森)」 - 位,我不能做 - 必須包含的部分或全部「戴維森」,從頭開始(因此「DAV」是可以接受的,但「兒子」是不是)
- 「 NSF」 - 必須以「.NSF」說完
- 長度 - 長度不超過12個字符,包括可選的「_a 「在字符串的開始和字符串末尾所需的」.nsf「。
任何提示和技巧將不勝感激。
這會不會也匹配'cson.nsf'? Quote:「(所以」dav「是可以接受的,但」兒子「不是)」我認爲你需要'(d(a(v(...)?)?)?)?' –
是否預期?如果不是,並且這些字母應該總是跟着另一個,那麼'^(?!。{13})(a _)?c(d(?:a(?:v(?:i(?:s(?:on? )?)?)?)?)?)\。nsf $'可以提供幫助。 –
這取決於語言是什麼。在JS中,它會[這樣的](https://jsfiddle.net/rsLngq2g/)。 –