目次
正規表現の本質は、一連の特殊文字パターンを使用して特定の種類の文字列を表すことです。正規表現は間違いなくテキストを処理するための最も強力なツールであり、.NET の System.dll クラス ライブラリによって提供される System.Text. RegularExpressions.Regex クラスは、正規表現を検証するためのメソッドを実装しています。 Regex クラスは、不変 (読み取り専用) 正規表現を表します。また、他のクラスのインスタンスを明示的に作成せずに他の正規表現クラスを使用できるようにするさまざまな静的メソッドも含まれています。
ホームページ バックエンド開発 C#.Net チュートリアル .net正規表現の使い方を詳しく解説!

.net正規表現の使い方を詳しく解説!

Jun 24, 2017 am 09:58 AM
.net 通常 表現

正規表現の本質は、一連の特殊文字パターンを使用して特定の種類の文字列を表すことです。正規表現は間違いなくテキストを処理するための最も強力なツールであり、.NET の System.dll クラス ライブラリによって提供される System.Text. RegularExpressions.Regex クラスは、正規表現を検証するためのメソッドを実装しています。 Regex クラスは、不変 (読み取り専用) 正規表現を表します。また、他のクラスのインスタンスを明示的に作成せずに他の正規表現クラスを使用できるようにするさまざまな静的メソッドも含まれています。

正規表現の文字表現の説明:

文字

説明

エスケープ文字、特別な機能を持つ文字を通常の文字にエスケープする、またはその逆

^

入力文字列の開始位置と一致します

$

入力文字列の終了位置と一致します

*

の試合前の部分式に 0 回以上一致します

+

前の部分式に 1 回以上一致します

?

前のゼロと一致します 2 番目または最初の部分式

{n}

n は非負の整数で、前の n の 2 番目の部分式と一致します

{n,}

n は非負の整数で、少なくとも一致します前の n の 2 番目の部分式

{n,m}

m と n は両方とも非負の整数であり、n

?

文字が他の制限子 (*,+,?,{n},{n,},{n,m}) の直後にある場合、一致パターンは検索文字列と一致します。可能です

.

は、「n」を除く任意の単一文字と一致します

(パターン)

この一致を取得します

(?:パターン)

パターンに一致しますが、一致する結果が得られません

(?=pattern)

任意の一致における前方参照 パターンの文字列の先頭にある検索文字列と一致します

(?!pattern)

否定的な事前検索、pattern に一致しない文字列の先頭にある検索文字列と一致します

x|y

は x または y に一致します。たとえば、「z|food」は「z」または「food」と一致します。 '(z|f)ood' は、'zood' または 'food'

[xyz]

文字セットと一致します。含まれている文字のいずれかと一致します。たとえば、「[abc]」は、「plain」の 'a'

[^xyz]

否定文字セットと一致します。中に含まれる任意の文字と一致します。例: '[^abc]' は、"plain" の 'p' と一致します

[a-z]

は、指定された範囲内の任意の文字と一致します。例: '[a-z]' は、'a' から 'z' までの範囲内の任意の小文字のアルファベット文字と一致します

[^a-z]

は、指定された範囲にない任意の文字と一致します。例: '[^b-z]' は、b~z 内にない任意の文字と一致します

b

は、単語とスペースの間の位置を指す単語境界と一致します

B

は単語以外の境界と一致します

d

は、[0-9]に相当する数字と一致します

D

は非に一致します- [0-9] [^0-9] に相当する数値

f

は改ページと一致します

n

は改行と一致します

r

1つ一致 文字を入力

s

スペース、タブ、フォーム フィードなどを含む任意の空白文字と一致します。

S

任意の非空白文字と一致します

t

タブに一致します記号

v

は、x0b および cK に相当する垂直タブ文字に一致します。

w

は、アンダースコアを含む任意の単語文字に一致します。 '[A-Za-z0-9_]' と同等

W

は、'[^A-Za-z0-9_]' と同等の任意の非単語文字と一致します

注意:
由于在正则表达式中“ \ ”、“ ? ”、“ * ”、“ ^ ”、“ $ ”、“ + ”、“(”、“)”、“ | ”、“ { ”、“ [ ”等字符已经具有一定特殊意义,如果需要用它们的原始意义,则应该对它进行转义,例如希望在字符串中至少有一个“ \ ”,那么正则表达式应该这么写: "\\+"

Regex类常用的方法
1、静态Match方法
使用静态Match方法,可以得到源中第一个匹配模式的连续子串。
静态的Match方法有2个重载,分别是:

Regex.Match(string input, string pattern);  //第一种重载的参数表示:输入、模式
Regex.Match(string input, string pattern, RegexOptions options);  //第二种重载的参数表示:输入、模式、RegexOptions枚举的“按位或”组合。
ログイン後にコピー

RegexOptions枚举的有效值是:

1、None:指定不设置选项。表示无设置,此枚举项没有意义
2、IgnoreCase:指定不区分大小写的匹配。
3、Multiline:多行模式。更改 ^ 和 $ 的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。表示多行模式,改变元字符^和$的含义,它们可以匹配行的开头和结尾
4、ExplicitCapture:指定有效的捕获仅为形式为 (?...) 的显式命名或编号的组。这使未命名的圆括号可以充当非捕获组,并且不会使表达式的语法 (?:...)显得笨拙。表示只保存显式命名的组
5、Compiled:指定将正则表达式编译为程序集。这会产生更快的执行速度,但会增加启动时间。在调用 System.Text.RegularExpressions.Regex.CompileToAssembly(System.Text.RegularExpressions.RegexCompilationInfo[],System.Reflection.AssemblyName)方法时,不应将此值分配给 System.Text.RegularExpressions.RegexCompilationInfo.Options属性。 
6、Singleline :指定单行模式。更改点 (.) 的含义,使它与每一个字符匹配(而不是与除 \n 之外的每个字符匹配)。表示单行模式,改变元字符.的意义,它可以匹配换行符
7、IgnorePatternWhitespace: 消除模式中的非转义空白并启用由 # 标记的注释。但是,System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace值不会影响或消除字符类中的空白。表示去掉模式中的非转义空白,并启用由#标记的注释  
8、RightToLeft:指定搜索从右向左而不是从左向右进行。表示从右向左扫描、匹配,这时,静态的Match方法返回从右向左的第一个匹配
9、ECMAScript: 为表达式启用符合 ECMAScript 的行为。该值只能与 System.Text.RegularExpressions.RegexOptions.IgnoreCase、System.Text.RegularExpressions.RegexOptions.Multiline和 System.Text.RegularExpressions.RegexOptions.Compiled 值一起使用。该值与其他任何值一起使用均将导致异常。表示符合ECMAScript,这个值只能和IgnoreCase、Multiline、Complied连用
10、CultureInvariant: 指定忽略语言中的区域性差异  RegularExpressions Namespace。表示不考虑文化背景

注意:Multiline在没有ECMAScript的情况下,可以和Singleline连用。Singleline和Multiline不互斥,但是和ECMAScript互斥。

2、静态的Matches方法
这个方法的重载形式同静态的Match方法,返回一个MatchCollection,表示输入中,匹配模式的匹配的集合。
 
3、静态的IsMatch方法
此方法返回一个bool,重载形式同静态的Matches,若输入中匹配模式,返回true,否则返回false。
可以理解为:IsMatch方法,返回Matches方法返回的集合是否为空。

Regex类常用的方法的例子:

1、字符串替换:

//例如我想把如下格式记录中的NAME值修改为YONG
            string line = "ADDR=5449919;NAME=LINJIE;PHONE=45859";
            Regex reg = new Regex("NAME=(.+);");
            string modifiedStr = reg.Replace(line, "NAME=YONG;");
ログイン後にコピー

 

2、字符串匹配:

 
 string line = "ADDR=5449919;NAME=LINJIE;PHONE=45859";
            Regex reg = new Regex("NAME=(.+);");
            //例如我想提取line中的NAME值
            Match match = reg.Match(line);
            string value = match.Groups[1].Value;
            Console.WriteLine("value的值为:{0}", value);
ログイン後にコピー
 

 

3、Match方法的实例

 
//文本中含有"speed=68.9mph",需要提取该速度值,但是速度的单位可能是公制也可能是英制,mph,km/h,m/s都有可能;另外前后可能有空格。
            string line = "lane=5;speed=68.9mph;acceleration=3.6mph/s";
            Regex reg = new Regex(@"speed\s*=\s*([\d\.]+)\s*(mph|km/h|m/s)*");
            Match match = reg.Match(line);
            //那么在返回的结果中match.Groups[1].Value将含有数值,而match.Groups[2].Value将含有单位。
            var value = match.Groups[1].Value;
            var unit = match.Groups[2].Value;
            Console.WriteLine("speed的值为:{0} speed的单位是:{1}", value, unit);
ログイン後にコピー
 

 

4、解码gps的GPRMC字符串

//就可以获得经度、纬度值
Regex reg = new Regex(@"^\$GPRMC,[\d\.]*,[A|V],(-?[0-9]*\.?[0-9]+),([NS]*),(-?[0-9]*\.?[0-9]+),([EW]*),.*");
ログイン後にコピー

5、提取[]里面的值

            string pattern = @"(?is)(?<=\[)(.*)(?=\])";
            string result = new Regex(pattern).Match("sadff[我要提取你了]sdfdsf").Value;
ログイン後にコピー

6、提取()里面的值

            string pattern= @"(?is)(?<=\()(.*)(?=\))";
            string result = new Regex(pattern).Match("sad(我提取到了)dsf").Value;
ログイン後にコピー

7、提取{}里面的值

            string pattern = @"(?is)(?<=\{)(.*)(?=\})";
            string result = new Regex(pattern).Match("sadff[{的d你]srd}sf").Value;
ログイン後にコピー

System.Text.RegularExpressions命名空间的说明
该名称空间包括8个类,1个枚举,1个委托。他们分别是:
Capture: 包含一次匹配的结果;
CaptureCollection: Capture的序列;
Group: 一次组记录的结果,由Capture继承而来;
GroupCollection:表示捕获组的集合
Match: 一次表达式的匹配结果,由Group继承而来;
MatchCollection: Match的一个序列;
MatchEvaluator: 执行替换操作时使用的委托;
RegexCompilationInfo:提供编译器用于将正则表达式编译为独立程序集的信息
RegexOptions 提供用于设置正则表达式的枚举值
Regex类中还包含一些静态的方法:
Escape: 对字符串中的regex中的转义符进行转义;
IsMatch: 如果表达式在字符串中匹配,该方法返回一个布尔值;
Match: 返回Match的实例;
Matches: 返回一系列的Match的方法;
Replace: 用替换字符串替换匹配的表达式;
Split: 返回一系列由表达式决定的字符串;
Unescape:不对字符串中的转义字符转义。

常用的正则表达式:

1、数字验证的表达式:

            //数字
            Regex reg = new Regex(@"^[0-9]*$");
            //n位的数字
            Regex reg = new Regex(@"^\d{n}$");
            //至少n位的数字
            Regex reg = new Regex(@"^\d{n,}$");
            //m-n位的数字
            Regex reg = new Regex(@"^\d{m,n}$");
            //零和非零开头的数字
            Regex reg = new Regex(@"^(0|[1-9][0-9]*)$");
            //非零开头的最多带两位小数的数字
            Regex reg = new Regex(@"^([1-9][0-9]*)+(.[0-9]{1,2})?$");
            //带1-2位小数的正数或负数
            Regex reg = new Regex(@"^(\-)?\d+(\.\d{1,2})?$");
            //正数、负数、和小数
            Regex reg = new Regex(@"^(\-|\+)?\d+(\.\d+)?$");
            //有两位小数的正实数
            Regex reg = new Regex(@"^[0-9]+(.[0-9]{2})?$");
            //有1~3位小数的正实数
            Regex reg = new Regex(@"^[0-9]+(.[0-9]{1,3})?$");
            //非零的正整数
            Regex reg = new Regex(@"^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$");
            //非零的负整数
            Regex reg = new Regex(@"^\-[1-9][]0-9″*$ 或 ^-[1-9]\d*$");
            //非负整数
            Regex reg = new Regex(@"^\d+$ 或 ^[1-9]\d*|0$");
            //非正整数
            Regex reg = new Regex(@"^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$");
            //非负浮点数
            Regex reg = new Regex(@"^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$");
            //非正浮点数
            Regex reg = new Regex(@"^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$");
            //正浮点数
            Regex reg = new Regex(@"^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$");
            //负浮点数
            Regex reg = new Regex(@"^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$");
            //浮点数
            Regex reg = new Regex(@"^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$");
ログイン後にコピー

2、字符验证常用正式表达式:

            //汉字
            Regex reg = new Regex(@"^[\u4e00-\u9fa5]{0,}$");
            //英文和数字
            Regex reg = new Regex(@"^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$");
            //长度为3-20的所有字符
            Regex reg = new Regex(@"^.{3,20}$");
            //由26个英文字母组成的字符串
            Regex reg = new Regex(@"^[A-Za-z]+$");
            //由26个大写英文字母组成的字符串
            Regex reg = new Regex(@"^[A-Z]+$");
            //由26个小写英文字母组成的字符串
            Regex reg = new Regex(@"^[a-z]+$");
            //由数字和26个英文字母组成的字符串
            Regex reg = new Regex(@"^[A-Za-z0-9]+$");
            //由数字、26个英文字母或者下划线组成的字符串
            Regex reg = new Regex(@"^\w+$ 或 ^\w{3,20}$");
            //中文、英文、数字包括下划线
            Regex reg = new Regex(@"^[\u4E00-\u9FA5A-Za-z0-9_]+$");
            //中文、英文、数字但不包括下划线等符号
            Regex reg = new Regex(@"^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$");
            //可以输入含有^%&’,;=?$\”等字符
            Regex reg = new Regex(@"[^%&’,;=?$\x22]+");
            //禁止输入含有~的字符
            Regex reg = new Regex(@"[^~\x22]+");
ログイン後にコピー

3、一些特殊的正则表达式:

            //Email地址
            Regex reg = new Regex(@"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");
            //域名
            Regex reg = new Regex(@"[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?");
            //InternetURL
            Regex reg = new Regex(@"[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$");
            //手机号码
            Regex reg = new Regex(@"^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$");
            //电话号码(“XXX-XXXXXXX”、”XXXX-XXXXXXXX”、”XXX-XXXXXXX”、”XXX-XXXXXXXX”、”XXXXXXX”和”XXXXXXXX)
            Regex reg = new Regex(@"^($$\d{3,4}-)|\d{3.4}-)?\d{7,8}$");
            //国内电话号码(0511-4405222、021-87888822)
            Regex reg = new Regex(@"\d{3}-\d{8}|\d{4}-\d{7}");
            //身份证号(15位、18位数字)
            Regex reg = new Regex(@"^\d{15}|\d{18}$");
            //短身份证号码(数字、字母x结尾)
            Regex reg = new Regex(@"^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$");
            //帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)
            Regex reg = new Regex(@"^[a-zA-Z][a-zA-Z0-9_]{4,15}$");
            //密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)
            Regex reg = new Regex(@"^[a-zA-Z]\w{5,17}$");
            //强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间)
            Regex reg = new Regex(@"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$");
            //日期格式
            Regex reg = new Regex(@"^\d{4}-\d{1,2}-\d{1,2}");
            //一年的12个月(01~09和1~12)
            Regex reg = new Regex(@"^(0?[1-9]|1[0-2])$");
            //一个月的31天(01~09和1~31)
            Regex reg = new Regex(@"^((0?[1-9])|((1|2)[0-9])|30|31)$");
            //钱的输入格式:
            //有四种钱的表示形式我们可以接受:”10000.00″ 和 “10,000.00”, 和没有 “分” 的 “10000” 和 “10,000”
            Regex reg = new Regex(@"^[1-9][0-9]*$");
            //这表示任意一个不以0开头的数字,但是,这也意味着一个字符”0″不通过,所以我们采用下面的形式
            Regex reg = new Regex(@"^(0|[1-9][0-9]*)$");
            //一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号
            Regex reg = new Regex(@"^(0|-?[1-9][0-9]*)$");
            //这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分
            Regex reg = new Regex(@"^[0-9]+(.[0-9]+)?$");
            //必须说明的是,小数点后面至少应该有1位数,所以”10.”是不通过的,但是 “10” 和 “10.2” 是通过的
            Regex reg = new Regex(@"^[0-9]+(.[0-9]{2})?$");
            //这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样
            Regex reg = new Regex(@"^[0-9]+(.[0-9]{1,2})?$");
            //这样就允许用户只写一位小数。下面我们该考虑数字中的逗号了,我们可以这样
            Regex reg = new Regex(@"^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$");
            //1到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须
            Regex reg = new Regex(@"^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$");
            //备注:这就是最终结果了,别忘了”+”可以用”*”替代。如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里
            //xml文件
            Regex reg = new Regex(@"^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$");
            //中文字符的正则表达式
            Regex reg = new Regex(@"[\u4e00-\u9fa5]");
            //双字节字符
            Regex reg = new Regex(@"[^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))");
            //空白行的正则表达式,可用来删除空白行
            Regex reg = new Regex(@"\n\s*\r");
            //HTML标记的正则表达式
            Regex reg = new Regex(@"<(\S*?)[^>]*>.*?</\1>|<.*? />");// (网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力)
            //首尾空白字符的正则表达式
            Regex reg = new Regex(@"^\s*|\s*$或(^\s*)|(\s*$)");// (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)
            //腾讯QQ号
            Regex reg = new Regex(@"[1-9][0-9]{4,}"); //(腾讯QQ号从10000开始)
            //中国邮政编码
            Regex reg = new Regex(@"[1-9]\d{5}(?!\d)");// (中国邮政编码为6位数字)
            //IP地址
            Regex reg = new Regex(@"\d+\.\d+\.\d+\.\d+");// (提取IP地址时有用)
            //IP地址
            Regex reg = new Regex(@"((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))");
ログイン後にコピー

以上が.net正規表現の使い方を詳しく解説!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python での SVM の例 Python での SVM の例 Jun 11, 2023 pm 08:42 PM

Python のサポート ベクター マシン (SVM) は、分類および回帰の問題を解決するために使用できる強力な教師あり学習アルゴリズムです。 SVM は、高次元データや非線形問題を処理する場合に優れたパフォーマンスを発揮し、データ マイニング、画像分類、テキスト分類、バイオインフォマティクスなどの分野で広く使用されています。この記事では、Python で分類に SVM を使用する例を紹介します。 scikit-learn ライブラリの SVM モデルを使用します。

C# の雇用の見通しはどのようなものですか? C# の雇用の見通しはどのようなものですか? Oct 19, 2023 am 11:02 AM

初心者でも経験豊富なプロフェッショナルでも、C# をマスターすることでキャリアへの道が開かれます。

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する May 06, 2024 pm 04:43 PM

現在、人工知能(AI)技術の開発は本格化しており、さまざまな分野で大きな可能性と影響力を発揮しています。本日、Dayao は、参考にしていただけるよう、4 つの .NET オープン ソース AI モデル LLM 関連プロジェクト フレームワークを共有します。 https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel は、OpenAI、Azure などの大規模言語モデル (LLM) を統合するように設計されたオープン ソース ソフトウェア開発キット (SDK) です。

Golang 正規表現を使用して複数の単語または文字列を照合するにはどうすればよいですか? Golang 正規表現を使用して複数の単語または文字列を照合するにはどうすればよいですか? May 31, 2024 am 10:32 AM

Golang の正規表現では、パイプ文字 | を使用して複数の単語または文字列を一致させ、各オプションを論理 OR 式として区切ります。例: 「fox」または「dog」に一致します: fox|dog は「quick」、「brown」または「lazy」に一致します: (quick|brown|lazy) 「Go」、「Python」または「Java」に一致します: Go| Python |Java は単語または 4 桁の郵便番号と一致します: ([a-zA

Golang でのポインター変換のベスト プラクティスの例を学ぶ Golang でのポインター変換のベスト プラクティスの例を学ぶ Feb 24, 2024 pm 03:51 PM

Golang は、さまざまなアプリケーションやサービスの開発に使用できる強力で効率的なプログラミング言語です。 Golang では、ポインタは非常に重要な概念であり、データをより柔軟かつ効率的に操作するのに役立ちます。ポインタ変換とは、異なる型間のポインタ操作のプロセスを指します。この記事では、具体的な例を使用して、Golang におけるポインタ変換のベスト プラクティスを学びます。 1. 基本概念 Golang では、各変数にはアドレスがあり、アドレスはメモリ内の変数の位置です。

VUE3 入門例: 簡単なビデオ プレーヤーの作成 VUE3 入門例: 簡単なビデオ プレーヤーの作成 Jun 15, 2023 pm 09:42 PM

新世代のフロントエンド フレームワークが出現し続ける中、VUE3 は高速で柔軟、そして使いやすいフロントエンド フレームワークとして愛されています。次に、VUE3 の基本を学び、簡単なビデオ プレーヤーを作成しましょう。 1. VUE3 をインストールする まず、VUE3 をローカルにインストールする必要があります。コマンド ライン ツールを開き、次のコマンドを実行します。 npminstallvue@next 次に、新しい HTML ファイルを作成し、VUE3 を導入します。 &lt;!doctypehtml&gt;

PHP の簡単な Web クローラー開発例 PHP の簡単な Web クローラー開発例 Jun 13, 2023 pm 06:54 PM

インターネットの急速な発展に伴い、データは今日の情報化時代において最も重要なリソースの 1 つになりました。 Webクローラは、ネットワークデータを自動的に取得・処理する技術として、ますます注目と応用が進んでいます。この記事では、PHPを使って簡単なWebクローラーを開発し、ネットワークデータを自動取得する機能を実現する方法を紹介します。 1. Web クローラーの概要 Web クローラーとは、ネットワーク リソースを自動的に取得して処理する技術であり、主な動作プロセスはブラウザーの動作をシミュレートし、指定された URL アドレスに自動的にアクセスし、すべての情報を抽出することです。

Python での VAE アルゴリズムの例 Python での VAE アルゴリズムの例 Jun 11, 2023 pm 07:58 PM

VAE は生成モデルであり、正式名は variationalAutoencoder で、中国語に翻訳すると変分自動エンコーダとなります。これは、画像、音声、テキストなどの新しいデータを生成するために使用できる教師なし学習アルゴリズムです。通常のオートエンコーダと比較して、VAE はより柔軟で強力であり、より複雑で現実的なデータを生成できます。 Python は最も広く使用されているプログラミング言語の 1 つであり、深層学習の主要ツールの 1 つです。 Python には、優れた機械学習と奥深いものが数多くあります。

See all articles