[解決済み] XPathのcontains関数で正規表現を使用する方法
2022-02-10 09:56:25
質問
以下のテキストにマッチングさせたい
sometext12345_text
を以下の正規表現で使用します。
私はこれをSeleniumテストの一つで使っています。
String expr = "//*[contains(@id, 'sometext[0-9]+_text')]";
driver.findElement(By.xpath(expr));
しかし、うまくいかないようです。誰か助けてくれませんか?
解決方法は?
XPath 1.0は正規表現をネイティブに扱わないので、次のような方法を試してみてください。
//*[starts-with(@id, 'sometext') and ends-with(@id, '_text')]
(paul t.さんのご指摘の通りです。
//*[boolean(number(substring-before(substring-after(@id, "sometext"), "_text")))]
を使えば、中間の数字もチェックする必要がある場合に、元の正規表現と同じチェックを行うことができます)。
XPath 2.0 では、次のようにします。
//*[matches(@id, 'sometext\d+_text')]
関連
-
[解決済み] Regex:最初に出現する文字までのマッチング
-
[解決済み] 正規表現で変数を使うには?
-
[解決済み] 浮動小数点数に対する正規表現
-
[解決済み] 正規表現、空白文字とコロンを除くすべての非英数字文字
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] ある文字列が特定の単語を含んでいるかどうかを確認するにはどうすればよいですか?
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] 数字のみの正規表現
-
[解決済み】大文字・小文字を区別しない「Contains(string)
-
[解決済み】指定した接尾辞で終わらない文字列に対する正規表現
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン