class = "blah user_foo"だったHTMLのdivを持っていたら、Match()正規表現は 'foo'ビットを取得するのですか?Regex help
答えて
/<div\s(?:[^>'"]*|".*?"|'.*?')*?\bclass\s*=\s*"blah user_(.*?)"/i
上記の空白を処理します。クラス仕様の前に他のものを追加することができます。
class='single-quoted-something'
を処理しません。あなたは逆参照でそれを行うことができます。不正な形式のHTMLも処理しません。
class
属性が欲しかったdiv
要素とclass
値の唯一の属性は、常にこのような構造(blah
を固定し、その後user_
foobar
)がされている場合は、この正規表現を使用できます。
<div\s+class\s*=\s*"blah user_([^"\s]+)
を
それ以外の場合は、この正規表現を試してください:
<div\s+(?:[^>"']+|"[^"]*"|'[^']*')*\bclass\s*=\s*"blah user_([^"\s]+)
(?:[^>"']+|"[^"]*"|'[^']*')*
では、属性値としてプレーン>
が許可されていることも考慮しています。
編集バックトラックを低減するための先読みアサーションと最適化された正規表現:
<div\s+(?:(?:(?!class)[^>"']+(?:"[^"]*"|'[^']*')?)\s+)*class\s*=\s*"blah user_([^"\s]+)
私は言語がマッチ()を使用していますかわからないんだけど、それはおそらくこのようなものになります:$ 1または
<div[^>]+class="blah user_([^"]+)"
言語によっては、「foo」で\ 1に格納されてもよいし、あるいは何か完全に。
属性値には、平文の '> '文字を含めることができます。 – Gumbo
私はあなたのポイントを参照してください。あなたのソリューションはこの問題に対処します。私はそれを投票します。 – Stephan202
- 1. javascript regex replace help!
- 2. Regex help ^。* assets \ /.* \/original。* \。* $
- 3. Regex Help、por favor
- 4. regex help + java
- 5. Java regex help
- 6. .NET RegEx help
- 7. C#Regex Help
- 8. Regex help(php)
- 9. jQuery regex help
- 10. Python Regex Help
- 11. java regex help
- 12. Regex expression help java
- 13. Regex Help:文字を除外
- 14. RegEx help - コードの検索/返信
- 15. Help !!! RegEx.Replace
- 16. python regex help:スキップするための不明な情報
- 17. Regex help、特定のアンカーテキストとのリンクを取得する
- 18. ReGex Help - 単語の横にある数字を抽出する
- 19. Regex Help、関数名を検索して返す
- 20. Regex help、空白のない数字を含む単語
- 21. Regex/Javascript Help - URLを検索する構文解析
- 22. RegEx help - 特定の単語を除いて部分文字列を検索
- 23. #current help
- 24. mod_rewrite help
- 25. move_uploaded_file help
- 26. subprocess.Popen help
- 27. ArrayIndexOutofBounds - help?
- 28. stateListDrawable help
- 29. Distinct Help
- 30. bufferedinputstream help
@givp:私はGumboの答えを私の代わりに受け入れるでしょう... –