特定の文字列の一部でない限り、任意の数に一致する正規表現

ジェームズ:

これがだまされた場合は申し訳ありませんが、検索を行いましたが、クエリに一致するものを見つけることができませんでした。

特定の文字列を見つけて置き換えるために複数の正規表現を実行するJavaのreplacer関数があります。

そのうちの1つは数値を調べており、数値が見つかると、たとえば周囲にスペースが追加されます。

test123> test 123

使用される正規表現は「(([0-9] +)」であり、「$ 1」に置き換えられます

いくつかのエッジケースでは、たとえばハッシュ名のように、特定の文字列から数値を分割する必要がないという問題が発生しました。そのため、特定のシーケンスに一致する場合を除き、数値の任意の組み合わせをスペースでラップするように正規表現を更新する必要があります。

たとえば、次の結果が必要です。

  • test123> test 123
  • 84test> 84 test
  • テストmd5>テストmd5
  • sha256> sha256
  • 単語2 sha1>単語2 sha1
  • w0rd> w 0 rd
  • aisha256> aisha 256
  • ワードmd 5>ワードmd 5など

md5、sha1、sha256などの単語に一致するように否定的な後読みを使用してみましたが、それでも数値が分割されているようです。私は間違いを犯している単純なものだと確信しています... "((?!md5)(\ d +))"

したがって、基本的なルールは、文字列内にある数字は、shaまたはmdという単語が前にある場合を除き、スペースで囲む必要があります。数値とmdまたはshaの間にすでに空白がある場合は、空白を残す必要があります。shaまたはmdは、文字列の先頭であるか、空白またはanが前にある可能性があります。アンダースコア。ただし、長い単語の終わりや単語の途中であってはなりません。

ありがとう

4番目の鳥:

別の方法として、以下を使用することもできます

(?<!\d|^)(?<!(?<![^\W_])(?:sha|md))(?=\d)|(?<=\d)(?!\d|$)|_

数字と数字以外の間の位置、またはアンダースコアと一致します。

右側に数字がある場合、その数字の前にある文字は、アンダースコアなしの単語char以外の文字が前に付いていないshaまたはmdであってはなりません。

説明

  • (?<!\d|^) 数字または文字列の先頭を振り返らない場合
  • (?<! 振り返らないと
    • (?<![^\W_]) アンダースコア以外の文字charを振り返らない場合
    • (?:sha|md)一致SHAのか、MDオプションの数字が続きます
  • ) 後読みを閉じる
  • (?=\d) 数字を直接右にアサートする
  • | または
  • (?<=\d)(?!\d|$) 数字を振り返り、空白文字または文字列の終わりを楽しみにしていない場合
  • | または
  • _ アンダースコアを一致させる

正規表現のデモ | Javaデモ

String strings[] = {"Aisha256", "ai_sha256", "test123", "84test", "test md5", "sha256", "word two sha1", "w0rd", "test_md5", "sha256", "md5"};
for (String str : strings){
    System.out.println(str.replaceAll("(?<!\\d|^)(?<!(?<![^\\W_])(?:sha|md))(?=\\d)|(?<=\\d)(?!\\d|$)|_", " "));
}

出力

Aisha 256
ai sha256
test 123
84 test
test md5
sha256
word two sha1
w 0 rd
test md5
sha256
md5

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

文字列の一部に一致する正規表現

分類Dev

一部の文字列に一致する正規表現

分類Dev

特定の文字列で終わらない限り、パターンに一致する正規表現

分類Dev

正規表現を持つ特定の文字列の一部でない限り、文字を照合する方法

分類Dev

一部の文字列が後に続かない文字列に一致する正規表現

分類Dev

文字列全体ではなく文字列の一部に一致するJavascript正規表現

分類Dev

文字列の一部にのみ一致するJavaScript正規表現

分類Dev

Javascript正規表現:特定のシーケンスに一致しない限り、任意の一連の文字に一致します

分類Dev

特定の文字列の一部である場合を除いて、文字列に一致する正規表現

分類Dev

文字列の一部だけでなく、文字列全体に正規表現を一致させる

分類Dev

特定の位置で文字列に一致する正規表現

分類Dev

文字列に特定の数値がある/ない場合に文字列全体に一致する正規表現

分類Dev

文字列の一部と一致しない正規表現

分類Dev

「/」Javascriptまでの任意の文字列に一致する正規表現

分類Dev

すべて小文字で特定の文字列を含まない文字列に一致する正規表現

分類Dev

任意の文字列内の単一の連続しないタブに一致する正規表現?

分類Dev

文字列の一部に文字が含まれていない正規表現の一致

分類Dev

R の任意の数の文字に正確に一致する正規表現

分類Dev

パスの一部に一致する正規表現

分類Dev

Java:任意の接尾辞で終わっていない限り、正規表現に一致します

分類Dev

部分文字列に一致する正規表現ですが、特定の文字で始まらない

分類Dev

3つではなく2つの任意の文字を含む文字列に一致する正規表現

分類Dev

パターンの一部ではない単一の文字に正規表現を一致させるにはどうすればよいですか?

分類Dev

awkの複数文字区切り文字に対する貪欲でない正規表現の一致

分類Dev

一部の文字列を含み、他の文字列を含まない行に一致する正規表現

分類Dev

一部の特定の範囲の数値と一部の特定の数値を除く、数値の範囲に一致する正規表現

分類Dev

順番に出現しない限り、Pythonの特定の文字グループに正規表現を一致させることはできますか?

分類Dev

特定の値と等しくない空でない文字列に一致する正規表現

分類Dev

特定の文字列に一致するJavascript正規表現

Related 関連記事

  1. 1

    文字列の一部に一致する正規表現

  2. 2

    一部の文字列に一致する正規表現

  3. 3

    特定の文字列で終わらない限り、パターンに一致する正規表現

  4. 4

    正規表現を持つ特定の文字列の一部でない限り、文字を照合する方法

  5. 5

    一部の文字列が後に続かない文字列に一致する正規表現

  6. 6

    文字列全体ではなく文字列の一部に一致するJavascript正規表現

  7. 7

    文字列の一部にのみ一致するJavaScript正規表現

  8. 8

    Javascript正規表現:特定のシーケンスに一致しない限り、任意の一連の文字に一致します

  9. 9

    特定の文字列の一部である場合を除いて、文字列に一致する正規表現

  10. 10

    文字列の一部だけでなく、文字列全体に正規表現を一致させる

  11. 11

    特定の位置で文字列に一致する正規表現

  12. 12

    文字列に特定の数値がある/ない場合に文字列全体に一致する正規表現

  13. 13

    文字列の一部と一致しない正規表現

  14. 14

    「/」Javascriptまでの任意の文字列に一致する正規表現

  15. 15

    すべて小文字で特定の文字列を含まない文字列に一致する正規表現

  16. 16

    任意の文字列内の単一の連続しないタブに一致する正規表現?

  17. 17

    文字列の一部に文字が含まれていない正規表現の一致

  18. 18

    R の任意の数の文字に正確に一致する正規表現

  19. 19

    パスの一部に一致する正規表現

  20. 20

    Java:任意の接尾辞で終わっていない限り、正規表現に一致します

  21. 21

    部分文字列に一致する正規表現ですが、特定の文字で始まらない

  22. 22

    3つではなく2つの任意の文字を含む文字列に一致する正規表現

  23. 23

    パターンの一部ではない単一の文字に正規表現を一致させるにはどうすればよいですか?

  24. 24

    awkの複数文字区切り文字に対する貪欲でない正規表現の一致

  25. 25

    一部の文字列を含み、他の文字列を含まない行に一致する正規表現

  26. 26

    一部の特定の範囲の数値と一部の特定の数値を除く、数値の範囲に一致する正規表現

  27. 27

    順番に出現しない限り、Pythonの特定の文字グループに正規表現を一致させることはできますか?

  28. 28

    特定の値と等しくない空でない文字列に一致する正規表現

  29. 29

    特定の文字列に一致するJavascript正規表現

ホットタグ

アーカイブ