No.2ベストアンサー
- 回答日時:
ああ、activateの前は空でもいいのですね。
んじゃこうで
ところで#1のパターンでも、#1の補足にあるNGのパターンはNGになりません?
using System;
using System.Text.RegularExpressions;
class X
{
public static void Main(string[] args)
{
string[] s = {
"; arealk activate \"algkre\" a;relak;lekr", // must be NG
"arelakjlka activate arekjlk\" alkrelak", // must be NG
"arkejalrkjl activate \"arejkal\" aekjaljra;", // must be OK
"arewa;are activate \"arrare\" area", // must be NG
"activate \"alekrlk\" arewpo" // must be OK
};
// string pat = "^[^;]+ ?activate ?\".+?\".*";
string pat = "^[^;]*activate ?\".+?\".*";
foreach (string item in s) {
Console.WriteLine("Try: " + item);
if (Regex.IsMatch (item, pat))
Console.WriteLine("--> match");
else
Console.WriteLine("--> no match");
}
}
}
Try: ; arealk activate "algkre" a;relak;lekr
--> no match
Try: arelakjlka activate arekjlk" alkrelak
--> no match
Try: arkejalrkjl activate "arejkal" aekjaljra;
--> match
Try: arewa;are activate "arrare" area
--> no match
Try: activate "alekrlk" arewpo
--> match
#1のもこれも、""で囲まれた文字列の後がなにもなくてもOKと見なしています。
なにかないとNGにしたいのなら、
"^[^;]*activate ?\".+?\".+"
(最後の*を+に変更)
で。
すみませんが、これでまだ何かあっても
次の反応は夜遅くになりますのでよろしく。
No.1
- 回答日時:
条件に不明確なところがあるんだけど、とりあえず
示されているパターンでは条件を満足します。
using System;
using System.Text.RegularExpressions;
class X
{
public static void Main(string[] args)
{
string[] s = {
"; arealk activate \"algkre\" a;relak;lekr",
"arelakjlka activate arekjlk\" alkrelak",
"arkejalrkjl activate \"arejkal\" aekjaljra;"
};
string pat = "^[^;]+ ?activate ?\".+?\".*";
foreach (string item in s) {
Console.WriteLine("Try: " + item);
if (Regex.IsMatch (item, pat))
Console.WriteLine("--> match");
else
Console.WriteLine("--> no match");
}
}
}
Try: ; arealk activate "algkre" a;relak;lekr
--> no match
Try: arelakjlka activate arekjlk" alkrelak
--> no match
Try: arkejalrkjl activate "arejkal" aekjaljra;
--> match
この回答への補足
さっそくのご回答ありがとうございます!
ただ、説明不足だったようで、もう少し追加させていただきます。
ダメな例
arewa;are activate "arrare" area
OKな例
activate "alekrlk" arewpo
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- gooブログ Twitterの動画画面をgooブログに埋め込めない 4 2022/06/03 16:40
- その他(プログラミング・Web制作) VB.NETの正規表現について 4 2022/04/12 16:54
- Visual Basic(VBA) 指定の条件に応じたセルの場所に〇印(図形)を描く 2 2022/11/08 15:26
- Access(アクセス) AccessVBAで任意の複数リンクテーブルをAccessVBAを動かす際に削除したいと考えておりま 1 2022/11/17 15:45
- Excel(エクセル) Excel VBAで、行の高さを、上下1文字分程度高くしたい 3 2023/04/23 00:17
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- C言語・C++・C# C言語の質問です。 以下の命令を実行するプログラムを作りました ①文字列aとbの長さを表示 ②aとb 1 2022/04/29 15:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現 画像リンクのaltの取得
-
VBAを使ってHTMLソースから特定...
-
PHPで あるフォルダ内の、特定...
-
住所から特定の文字列、数値を...
-
正規表現で「0」のみ抽出
-
日本語の文字列のみをURLエンコ...
-
正規表現で特定のHTMLタグのク...
-
カンマ区切りの金額を検索する...
-
正規表現で記号 & アンドの検索...
-
PHP preg_matchでUnknown modif...
-
htmlソースからタグ内のテキス...
-
Excelで数字のみを2倍3倍にする...
-
文字の入力で横バー上段、中断...
-
Excel関数「COUNTIF」で”文字”...
-
phpのメールフォームの完了画面...
-
VBAのコマンドボタンの文字列の...
-
エクセルのCOUNTIFが正しくカウ...
-
エクセルでの漢字、カタカナ、...
-
XMLのタグ名の禁則文字
-
記号は半角と全角どちらがよい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを使ってHTMLソースから特定...
-
、"(ダブルクォーテーション)...
-
preg_matchでエラーが出ます。
-
PHPで変数から1行目だけを取得...
-
PHPの「ereg」って何の略で...
-
PHPで あるフォルダ内の、特定...
-
PHPの正規表現で住所を分けるに...
-
Excelで数字のみを2倍3倍にする...
-
正規表現で「0」のみ抽出
-
住所から特定の文字列、数値を...
-
PHPで<a>タグ内からURLと文字を...
-
正規表現で特定のHTMLタグのク...
-
正規表現で、半角大文字と半角...
-
正規表現でシングルクォーテー...
-
正規表現パターンの記入方法に...
-
preg_matchでのマッチが正しく...
-
Smartyで部分一致
-
正規表現を使いimgタグ内から幅...
-
電話番号のチェック ハイフン...
-
php 正規表現で(ただし○○は除...
おすすめ情報