---
# System prepended metadata

title: C# の識別子を表す正規表現 2022-02-27
tags: [C#, 識別子, 正規表現]

---

---
lang: ja-jp
breaks: true
---
# C# の識別子を表す正規表現 2022-02-27

> [雑記] 識別子名に使える文字
> https://ufcpp.net/study/csharp/misc_identifier.html

> Unicode カテゴリまたは Unicode ブロックの否定: \P{}
> https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/character-classes-in-regular-expressions#negative-unicode-category-or-unicode-block-p

## 仕様にのっとった正規表現

```=
[\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}][\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\p{Mn}|\p{Mc}|\p{Pc}|\p{Nd}|\p{Cf}]+
```

## 上記が面倒な場合のざっくりとした（※妥協した）正規表現

```=
[\w|\p{Nl}|\p{Mc}|\p{Cf}]+
```

以下でもほぼ問題ない。
```=
[\w|\p{Nl}]+
```


###### tags: `正規表現` `C#` `識別子`
