「Unity/Csharp/正規表現」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→エスケープ文字) |
(→エスケープ文字) |
||
行40: | 行40: | ||
<pre> | <pre> | ||
Match match = Regex.Match(endpoint, "/controller1/action2/\\?id=[\\w]*\\&age=[\\d]*"); | Match match = Regex.Match(endpoint, "/controller1/action2/\\?id=[\\w]*\\&age=[\\d]*"); | ||
+ | </pre> | ||
+ | |||
+ | ==¥wを使用== | ||
+ | ¥wは、[a-zA-Z_0-9]と同等 | ||
+ | <pre> | ||
+ | // Match match = Regex.Match(str, "^Play([a-zA-Z_0-9]*)Scene$"); | ||
+ | Match match = Regex.Match(str, "^Play([¥w]*)Scene$"); | ||
</pre> | </pre> |
2024年6月17日 (月) 07:32時点における版
準備
using System.Text.RegularExpressions;
正規表現マッチ
string str = "hoge a456 piyo"; Match match = Regex.Match(str, "a[0-9]+"); if (match.Success) { Debug.Log(match.Value); // a456 }
正規表現カッコマッチ
Match match = Regex.Match("hoge10-5", "^hoge([0-9]*)-([0-9]*)"); Debug.Log(match.Value); // hoge10 Debug.Log(match.Groups[1].Value); // 10 Debug.Log(match.Groups[2].Value); // 5
a-z判定
if (StrUtil.IsAlphabet(name)) { } public class StrUtil { // アルファベットのみ public static bool IsAlphabet(string name) { return !Regex.IsMatch(name, @"[^a-zA-Z]"); } // 数字のみ public static bool IsNum(string name) { return !Regex.IsMatch(name, @"[^0-9]"); } }
参考:http://increment.hatenablog.com/entry/2015/08/21/060626
エスケープ文字
\\を使ってエスケープする
Match match = Regex.Match(endpoint, "/controller1/action2/\\?id=[\\w]*\\&age=[\\d]*");
¥wを使用
¥wは、[a-zA-Z_0-9]と同等
// Match match = Regex.Match(str, "^Play([a-zA-Z_0-9]*)Scene$"); Match match = Regex.Match(str, "^Play([¥w]*)Scene$");