ホームページ  >  記事  >  バックエンド開発  >  Go Regexp: 完全な単語または部分文字列に一致するか、まったく一致しません

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

WBOY
WBOY転載
2024-02-08 20:51:041048ブラウズ

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 までご連絡ください。