Go Regexp: 完全な単語または部分文字列に一致するか、まったく一致しません

WBOY
リリース: 2024-02-08 20:51:04
転載
1069 人が閲覧しました

Go Regexp:匹配完整单词或子字符串或根本不匹配

質問内容

Goを使用して、regexp.Regexpとパターンを一致させる方法を探しています。

コンテストの基準は以下のとおりです。

  1. 行頭の FooBar またはその部分文字列 Foo と一致するか、まったく一致しない必要があります。
  2. #1 で一致した場合は、一致の後に他の文字が続く必要があります (例 \S )

したがって、次のように一致するはずです:

  • 一致: FooABC
  • 一致: FooBarABC
  • 一致しません: FooBar (その後に他の文字がないため)
  • 一致しません: ABC (Foo で始まらないため)

いろいろな表現を試してみましたが、よくわかりません。

否定先読みモードが他の実装に存在することを発見しましたが、Go はそれを提供していないようです。この問題を解決する他の方法はありますか?

参照(更新): https://regex101.com/r/SWSTzv/3

これは regexp を使用しなくても明らかに解決できることはわかっています。ただし、このリクエストの目的は、この問題が Go の stdlib 実装によって解決できるかどうかを理解することです。


正解


正規表現 ^Foo(?:Bar) に一致する結果を逆にしたらどうでしょうか?$ (OK、そうではありません)ただ)?

リーリー

出力:

リーリー

rextester で試してください。

更新
より正規表現ベースで、tips em>.

を使用するもの リーリー

rextester で試してください。

以上がGo Regexp: 完全な単語または部分文字列に一致するか、まったく一致しませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!