[解決済み] 空文字列以外を表す正規表現
2022-02-18 11:51:30
質問
正規表現を使用して、次のような「空文字列でないもの」を検出することは可能ですか?
string s1 = "";
string s2 = " ";
string s3 = " ";
string s4 = " ";
などです。
trimなどを使えばいいのは分かっているのですが、正規表現を使いたいのです。
どのように解決するのですか?
^(?!\s*$).+
は、少なくとも1つの非空白文字を含む文字列にマッチします。
そこで
if (Regex.IsMatch(subjectString, @"^(?!\s*$).+")) {
// Successful match
} else {
// Match attempt failed
}
がこれをやってくれるはずです。
^
は、検索を文字列の先頭に固定する。
(?!\s*$)
は、いわゆる負のルックヘッドで、文字列の終わりまで空白文字だけをマッチさせることは不可能であると主張します。
.+
は、実際にマッチングを行います。これは、文字列の終わりまでなら(改行を除いて)何でもマッチします。改行を許可したい場合は、文字列の最後に
RegexOptions.Singleline
オプションで指定します。
前のバージョンのご質問の残りです。
^\s*$
は、空白だけを含む (あるいは空の) 文字列にマッチします。
正反対です。
^\S+$
は、非空白文字のみからなる文字列にのみマッチし、最小で1文字です。
関連
-
[解決済み】ソケットのアドレス(プロトコル/ネットワークアドレス/ポート)は、通常1つしか使用できない?
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み] 正規表現で変数を使うには?
-
[解決済み] 単語を含まない行にマッチする正規表現
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] 型チェック:typeof、GetType、is?
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み] 有効な正規表現を検出するための正規表現はありますか?
-
[解決済み] 正規表現で「この文字列までなら何でもあり」にマッチさせるには?
-
[解決済み】MySQLで正規表現による置換を行うには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「未割り当てのローカル変数を使用」とはどういう意味ですか?
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み] エンティティタイプ <type> は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】画像のペイントにTextureBrushを使用する方法