ファイルからユーザー名を一致させようとしています。それは次のようなものです:
ユーザー名=asd123 password123
等々。
私は正規表現を使用しています:
username=(.*) password
ユーザー名を取得します。ただし、ユーザー名が say and[ers] などの場合は一致しません。ブラケットと一致しません。これに対する解決策はありますか?
ファイルからユーザー名を一致させようとしています。それは次のようなものです:
ユーザー名=asd123 password123
等々。
私は正規表現を使用しています:
username=(.*) password
ユーザー名を取得します。ただし、ユーザー名が say and[ers] などの場合は一致しません。ブラケットと一致しません。これに対する解決策はありますか?
あなたの正規表現は正しいです。代わりに、これを試すことができます:
username=([][[:alpha:]]*) password
[ ][[:alpha:]
]は]
、 および[
と[:alpha:]
が括弧内に含まれていることを意味します。
私はおそらく正規表現を使用します:
username=([a-zA-Z0-9\[\]]+) password
または似たようなもの。これに関する注意事項:
a-zA-Z0-9
英数字に一致します(例のように、alphanumercでした)。したがって、これは任意の英数字または括弧と一致します。+
と一致することが保証されます。( Kleene star )はゼロの繰り返しを許可します。つまり、空の文字列を有効なユーザー名として受け入れることを意味します。*
[:alnum:]
代わりに使用できますa-zA-Z0-9
。ただし、上で示したものは、機能しない場合でも機能するはずです。または、ユーザー名に括弧を使用することを禁止します。それらは本当に必要ありません、IMO。