/^(.*?)\/$
の行の間に何かをパターンにマッチさせようとしています。 (.*?)
はすでに/
と一致していますので、anything///////////
と一致しますが、一致するのはanything/
です。RegEx(。*?)1文字以外のもの
(.*?)
または代替ソリューションから/
を除外する良い方法はありますか?
/^(.*?)\/$
の行の間に何かをパターンにマッチさせようとしています。 (.*?)
はすでに/
と一致していますので、anything///////////
と一致しますが、一致するのはanything/
です。RegEx(。*?)1文字以外のもの
(.*?)
または代替ソリューションから/
を除外する良い方法はありますか?
使用negated character class[^\/]
:
/^([^\/]*)\/$/
あなたには、いくつかの他の区切り文字を使用したパターンでoverescaping回避することができる、PHPでregex demo
を参照してください、~
言う:
$rx = '~^([^/]*)/$~';
詳細:
^
- 文字列([^\/]*)
の開始 - 文字通り/
$
- - 文字列の末尾グループ1 0+ /
\/
以外の文字を取り込みます。は、それが貪欲1、*
ではるかに効率的になりますので、あなたはこの否定文字クラスと怠惰な量指定子*?
を必要としません。
(。*?)や代替ソリューションを除外する良い方法はありますか?
否定文字クラスを使用します
[^\/]*?
イップを、素晴らしいです!追加情報の答えとして受け入れるだろう:) – KaekeaSchmear