正規表現は^(\\p{L}|[0-9]|_)+$
と#[^[:punct:][:space:]]+
です(最初はJavaで、2番目はiOSで使用されています)。私はこれらを1つの式に結合して、iOSでどちらか一方と一致させたいと思っています。 最初のものはユーザー名用ですので、その先頭に@
文字を追加する必要があります。どのように見えるだろうか?これらの正規表現を組み合わせる
答えて
^(\\p{L}|[0-9]|_)+$
Javaのパターンは、iOSで使用されるICUライブラリと同じです(非常に似ています)。1つ以上のUnicode文字、ASCII数字または_
からなる文字列全体が一致します。交替グループが定量化され、文字クラスに基づく解決法よりもはるかに効率が低いので、これはあまり書かれていません。^[\\p{L}0-9_]+$
。
#[^[:punct:][:space:]]+
パターンは、#
と一致し、その後に句読点/記号と空白文字以外の1つ以上の文字(つまり、1つ以上の文字または数字、または英数字)が一致します。
何がシーク
@[\\p{L}0-9_]+|[^[:punct:][:space:]]+
または
@[\\p{L}0-9_]+|#[[:alnum:]]+
またはあなたがASCII数字に制限し、Unicodeの数字が一致しないようにするかのようにwritternすることができます。
@[\\p{L}0-9_]+|#[\\p{L}0-9]+
それは一致します
@
から@
シンボル- - 1以上のUnicode文字、ASCIIのdiigts、
_
- - 又は
#
から#
チャー[[:alnum:]]+
から1以上の文字または数字。[^[:punct:][:space:]]+
- 句読点/記号と空白以外の1+文字。
[\\p{L}0-9_]+
|
これらの式はすべて基本的にmatch strings like thisです。
あなただけ[@#]\\w+
、@
または#
、その後1以上の文字、数字または_
を使用するか、または唯一のASCII数字を許可するように、[@#][\\p{L}0-9_]+
、フルで#SomeThing_123
を一致させたい場合。
パターンの末尾に単語境界が必要な場合があります([@#][\\p{L}0-9_]+\\b
)。
これは非常に深いです、ありがとう!私のために働くのは、ıやöのような特殊文字を使う必要があるので、@ [\ p {L} 0-9 _] + |#[^ [:punct:] [:space:]] + 'ハッシュタグでは「_」はありません。 – Tometoyou
@Tometoyou私の答えが役に立つと分かった場合は、それを上書きすることも検討してください。 –
- 1. Javaの正規表現を組み合わせる
- 2. Python - 正規表現のパターンを組み合わせる
- 3. regex:3つの正規表現を組み合わせる
- 4. Java:正規表現で "not"句を組み合わせる
- 5. 正規表現を組み合わせる
- 6. 正規表現をC++で組み合わせる
- 7. Javascriptでの正規表現の組み合わせ
- 8. コード最適化の正規表現の組み合わせ
- 9. 正規表現文字の組み合わせ
- 10. 正規表現の複雑な組み合わせ:(^ +)|(+ $)
- 11. 与えられたルールの組み合わせのための正規表現
- 12. 文字列と組み合わせた非キャプチャ正規表現
- 13. 正規表現のかっこ()、|、^ $を組み合わせて使用します。
- 14. 複数の正規表現グループと先読みを組み合わせる
- 15. 文字列の組み合わせとシーケンスの規則の正規表現2
- 16. 1つのPerl正規表現で異なるケースルールを組み合わせる
- 17. 複数の正規表現の置換を組み合わせる
- 18. 文字の組み合わせを禁止する正規表現
- 19. Python正規表現による繰り返しの組み合わせのチェック
- 20. アルファベットの組み合わせに一度だけ一致する正規表現
- 21. Pythonの正規表現:パターンの書式と変数の組み合わせ
- 22. テキスト内の英数字と日付の組み合わせの正規表現
- 23. 次の組み合わせの正規表現が必要です
- 24. 文字と数字の組み合わせが一致正規表現
- 25. 正規表現/ str_replace:mailtoの持つ問題とスマイリー組み合わせ
- 26. 2つの正規表現をロジックまたは?と組み合わせることはできますか?
- 27. 2つの正規確率変数を組み合わせる
- 28. 整数の組み合わせをこれらの組み合わせの合計のリストに変換する
- 29. 正規表現を組み合わせて、どちらにも一致しない
- 30. 正規表現を単語として書かれた数字のリストと組み合わせた
あなたはそれらの間にパイプを投げるだけですか? – sniperd
私はそれをすると思いましたが、私はそうです。(^ {\\ p {L} | [0-9] | _)+ $)|(#[^ [:punct:] [:space:]]そのドル記号がiOSで動作するかどうかわからない、私はiOS内の正規表現が良くない。 '@ '記号はどこに行きますか? '^'の前に? – Tometoyou
^は行の先頭を意味するので、@はその行の右側に移動します。 $はiOSでうまくいくはずです。それがうまくいけば私は完全な答えを書くでしょう:) – sniperd