[解決済み] DartでRegExを使うには?
2022-02-03 21:12:22
質問
Flutterアプリケーションで、ある文字列が特定のRegExにマッチするかどうかをチェックする必要があります。しかし、JavaScript版のアプリからコピーしたRegExは 常に はFlutterアプリでfalseを返します。検証したのは レジェックサー が有効であることを確認し、まさにこの RegEx は JavaScript アプリケーションですでに使用されているため、正しいはずです。
どんなことでもご相談ください。
RegEx:
/^WS{1,2}:\/\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:56789/i
テストコード:
RegExp regExp = new RegExp(
r"/^WS{1,2}:\/\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:56789/i",
caseSensitive: false,
multiLine: false,
);
print("allMatches : "+regExp.allMatches("WS://127.0.0.1:56789").toString());
print("firstMatch : "+regExp.firstMatch("WS://127.0.0.1:56789").toString());
print("hasMatch : "+regExp.hasMatch("WS://127.0.0.1:56789").toString());
print("stringMatch : "+regExp.stringMatch("WS://127.0.0.1:56789").toString());
出力:
allMatches : ()
firstMatch : null
hasMatch : false
stringMatch : null
解決方法は?
RegEx のパラメータとしてすでに持っているオプションを、生の式の文字列に含めようとしたのだと思います (/i は caseSensitive: false として宣言されています)。
// Removed /i at the end
// Removed / in front - Thanks to Günter for warning
RegExp regExp = new RegExp(
r"^WS{1,2}:\/\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:56789",
caseSensitive: false,
multiLine: false,
);
print("allMatches : "+regExp.allMatches("WS://127.0.0.1:56789").toString());
print("firstMatch : "+regExp.firstMatch("WS://127.0.0.1:56789").toString());
print("hasMatch : "+regExp.hasMatch("WS://127.0.0.1:56789").toString());
print("stringMatch : "+regExp.stringMatch("WS://127.0.0.1:56789").toString());
与える。
allMatches : (Instance of '_MatchImplementation')
firstMatch : Instance of '_MatchImplementation'
hasMatch : true
stringMatch : WS://127.0.0.1:56789
関連
-
[解決済み] PostgreSQL での isnumeric()
-
[解決済み] 正規表現で変数を使うには?
-
[解決済み] (grep) 非 ASCII 文字にマッチする正規表現ですか?
-
[解決済み] Regex オプション文字にマッチさせる方法
-
[解決済み] Regex空の文字列または電子メール
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み] 正規表現を使用した電話番号の検証方法
-
[解決済み] JSで文字列が正規表現にマッチするかどうかをチェックする
-
[解決済み] Microsoft Excelで正規表現(Regex)をセル内とループの両方で使用する方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] MACアドレスの正規表現とは何ですか?
-
[解決済み] /bb|[^b]{2}/ どのように機能するのですか?[クローズド]
-
[解決済み] DartでRegExを使うには?
-
[解決済み] bashスクリプトで「cd `echo $0 | sed 's/(.***)\/.*/**1/'` 」はどうするのですか?
-
[解決済み] Apache LocationMatch Regex
-
[解決済み] 特定の文字が後にない'単語'を探す
-
[解決済み] 正規表現におけるワードバウンダリとは何ですか?
-
[解決済み] 正規表現 - Gmailアドレスの検証
-
[解決済み] Regexクレジットカード番号テスト
-
[解決済み] regex オプションのワードマッチ