Regular Expressions (Visual Studio)

本文详细介绍了如何在Visual Studio中使用正则表达式进行文本查找、替换等功能,包括快速查找、文件内查找、快速替换和文件内替换等操作。文中还提供了常用的正则表达式语法和示例,帮助开发者更高效地处理文本数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Regular Expressions (Visual Studio) 

 

Regular expressions are a concise and flexible notation for finding and replacing patterns of text. A specific set of regular expressions can be used in the Find what field of the Visual Studio Find and Replace Window .

To enable the use of regular expressions in the Find what field during Quick Find , Find in Files , Quick Replace , or Replace in Files operations, select the Use option under Find Options and choose Regular expressions .

The triangular Expression Builder button next to the Find what field then becomes available. Click this button to display a list of the most commonly used regular expressions. When you choose any item from the Expression Builder , it is inserted into the Find what string.

Note Note

There are syntax differences between the regular expressions that can be used in Find what strings and those that are valid in .NET Framework programming. For example, in Find and Replace , the braces notation {} is used for tagged expressions. So the expression zo{1} matches all occurrences of zo followed by the tag 1, as in Alonzo1 and Gonzo1 . But within the .NET Framework, the notation {} is used for quantifiers. So the expression zo{1} matches all occurrences of z followed by exactly one o , as in zone but not in zoo .

Here are the regular expressions available in the Expression Builder .

Expression Syntax Description

Any character

.

Matches any single character except a line break.

Zero or more

*

Matches zero or more occurrences of the preceding expression, making all possible matches.

One or more

+

Matches at least one occurrence of the preceding expression.

Beginning of line

^

Anchors the match string to the beginning of a line.

End of line

$

Anchors the match string to the end of a line.

Beginning of word

<

Matches only when a word begins at this point in the text.

End of word

>

Matches only when a word ends at this point in the text.

Line break

/n

Matches a platform-independent line break. In a Replace expression, inserts a line break.

Any one character in the set

[]

Matches any one of the characters within the []. To specify a range of characters, list the starting and ending character separated by a dash (-), as in [a-z].

Any one character not in the set

[^...]

Matches any character not in the set of characters following the ^.

Or

|

Matches either the expression before or the one after the OR symbol (|). Mostly used within a group. For example, (sponge|mud) bath matches "sponge bath" and "mud bath."

Escape

/

Matches the character that follows the backslash (/) as a literal. This allows you to find the characters used in regular expression notation, such as { and ^. For example, /^ Searches for the ^ character.

Tagged expression

{}

Matches text tagged with the enclosed expression.

C/C++ Identifier

:i

Matches the expression ([a-zA-Z_$][a-zA-Z0-9_$]*).

Quoted string

:q

Matches the expression (("[^"]*")|('[^']*')).

Space or Tab

:b

Matches either space or tab characters.

Integer

:z

Matches the expression ([0-9]+).

The list of all regular expressions that are valid in Find and Replace operations is longer than can be displayed in the Expression Builder. You can also insert any of the following regular expressions into a Find what string:

Expression Syntax Description

Minimal — zero or more

@

Matches zero or more occurrences of the preceding expression, matching as few characters as possible.

Minimal — one or more

#

Matches one or more occurrences of the preceding expression, matching as few characters as possible.

Repeat n times

^n

Matches n occurrences of the preceding expression. For example, [0-9]^4 matches any 4-digit sequence.

Grouping

()

Allows you to group a set of expressions together. If you want to search for two different expressions in a single search, you can use the Grouping expression to combine them.

For example, if you want to search for - [a-z][1-3] or - [1-10][a-z] , you would combine them: ([a-z][1-3]) | ([1-10][a-z]) .

n th tagged text

/n

In a Find or Replace expression, indicates the text matched by the n th tagged expression, where n is a number from 1 to 9.

In a Replace expression, /0 inserts the entire matched text.

Right-justified field

/(w ,n )

In a Replace expression, right-justifies the n th tagged expression in a field at least w characters wide.

Left-justified field

/(-w ,n )

In a Replace expression, left-justifies the n th tagged expression in a field at least w characters wide.

Prevent match

~(X)

Prevents a match when X appears at this point in the expression. For example, real~(ity) matches the "real" in "realty" and "really," but not the "real" in "reality."

Alphanumeric character

:a

Matches the expression ([a-zA-Z0-9]).

Alphabetic character

:c

Matches the expression ([a-zA-Z]).

Decimal digit

:d

Matches the expression ([0-9]).

Hexadecimal digit

:h

Matches the expression ([0-9a-fA-F]+).

Rational number

:n

Matches the expression (([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+)).

Alphabetic string

:w

Matches the expression ([a-zA-Z]+).

Escape

/e

Unicode U+001B.

Bell

/g

Unicode U+0007.

Backspace

/h

Unicode U+0008.

Tab

/t

Matches a tab character, Unicode U+0009.

Unicode character

/x#### or /u####

Matches a character given by Unicode value where #### is hexadecimal digits. You can specify a character outside the Basic Multilingual Plane (that is, a surrogate) with the ISO 10646 code point or with two Unicode code points giving the values of the surrogate pair.

The following table lists the syntax for matching by standard Unicode character properties. The two-letter abbreviation is the same as listed in the Unicode character properties database. These may be specified as part of a character set. For example, the expression [:Nd:Nl:No] matches any kind of digit.

Expression Syntax Description

Uppercase letter

:Lu

Matches any one capital letter. For example, :Luhe matches "The" but not "the".

Lowercase letter

:Ll

Matches any one lower case letter. For example, :Llhe matches "the" but not "The".

Title case letter

:Lt

Matches characters that combine an uppercase letter with a lowercase letter, such as Nj and Dz.

Modifier letter

:Lm

Matches letters or punctuation, such as commas, cross accents, and double prime, used to indicate modifications to the preceding letter.

Other letter

:Lo

Matches other letters, such as gothic letter ahsa.

Decimal digit

:Nd

Matches decimal digits such as 0-9 and their full-width equivalents.

Letter digit

:Nl

Matches letter digits such as roman numerals and ideographic number zero.

Other digit

:No

Matches other digits such as old italic number one.

Open punctuation

:Ps

Matches opening punctuation such as open brackets and braces.

Close punctuation

:Pe

Matches closing punctuation such as closing brackets and braces.

Initial quote punctuation

:Pi

Matches initial double quotation marks.

Final quote punctuation

:Pf

Matches single quotation marks and ending double quotation marks.

Dash punctuation

:Pd

Matches the dash mark.

Connector punctuation

:Pc

Matches the underscore or underline mark.

Other punctuation

:Po

Matches (,), ?, ", !, @, #, %, &, *, /, (:), (;), ', and /.

Space separator

:Zs

Matches blanks.

Line separator

:Zl

Matches the Unicode character U+2028.

Paragraph separator

:Zp

Matches the Unicode character U+2029.

Non-spacing mark

:Mn

Matches non-spacing marks.

Combining mark

:Mc

Matches combining marks.

Enclosing mark

:Me

Matches enclosing marks.

Math symbol

:Sm

Matches +, =, ~, |, <, and >.

Currency symbol

:Sc

Matches $ and other currency symbols.

Modifier symbol

:Sk

Matches modifier symbols such as circumflex accent, grave accent, and macron.

Other symbol

:So

Matches other symbols, such as the copyright sign, pilcrow sign, and the degree sign.

Other control

:Cc

Matches Unicode control characters such as TAB and NEWLINE.

Other format

:Cf

Formatting control character such as the bi-directional control characters.

Surrogate

:Cs

Matches one half of a surrogate pair.

Other private-use

:Co

Matches any character from the private-use area.

Other not assigned

:Cn

Matches characters that do not map to a Unicode character.

In addition to the standard Unicode character properties, the following additional properties may be specified as part of a character set.

Expression Syntax Description

Alpha

:Al

Matches any one character. For example, :Alhe matches words such as "The", "then", and "reached".

Numeric

:Nu

Matches any one number or digit.

Punctuation

:Pu

Matches any one punctuation mark, such as ?, @, ', and so on.

White space

:Wh

Matches all types of white space, including publishing and ideographic spaces.

Bidi

:Bi

Matches characters from right-to-left scripts such as Arabic and Hebrew.

Hangul

:Ha

Matches Korean Hangul and combining Jamos.

Hiragana

:Hi

Matches hiragana characters.

Katakana

:Ka

Matches katakana characters.

Ideographic/Han/Kanji

:Id

Matches ideographic characters, such as Han and Kanji.

CH341A编程器是一款广泛应用的通用编程设备,尤其在电子工程和嵌入式系统开发领域中,它被用来烧录各种类型的微控制器、存储器和其他IC芯片。这款编程器的最新版本为1.3,它的一个显著特点是增加了对25Q256等32M芯片的支持。 25Q256是一种串行EEPROM(电可擦可编程只读存储器)芯片,通常用于存储程序代码、配置数据或其他非易失性信息。32M在这里指的是存储容量,即该芯片可以存储32兆位(Mbit)的数据,换算成字节数就是4MB。这种大容量的存储器在许多嵌入式系统中都有应用,例如汽车电子、工业控制、消费电子设备等。 CH341A编程器的1.3版更新,意味着它可以与更多的芯片型号兼容,特别是针对32M容量的芯片进行了优化,提高了编程效率和稳定性。26系列芯片通常指的是Microchip公司的25系列SPI(串行外围接口)EEPROM产品线,这些芯片广泛应用于各种需要小体积、低功耗和非易失性存储的应用场景。 全功能版的CH341A编程器不仅支持25Q256,还支持其他大容量芯片,这意味着它具有广泛的兼容性,能够满足不同项目的需求。这包括但不限于微控制器、EPROM、EEPROM、闪存、逻辑门电路等多种类型芯片的编程。 使用CH341A编程器进行编程操作时,首先需要将设备通过USB连接到计算机,然后安装相应的驱动程序和编程软件。在本例中,压缩包中的"CH341A_1.30"很可能是编程软件的安装程序。安装后,用户可以通过软件界面选择需要编程的芯片类型,加载待烧录的固件或数据,然后执行编程操作。编程过程中需要注意的是,确保正确设置芯片的电压、时钟频率等参数,以防止损坏芯片。 CH341A编程器1.3版是面向电子爱好者和专业工程师的一款实用工具,其强大的兼容性和易用性使其在众多编程器中脱颖而出。对于需要处理25Q256等32M芯片的项目,或者26系列芯片的编程工作,CH341A编程器是理想的选择。通过持续的软件更新和升级,它保持了与现代电子技术同步,确保用户能方便地对各种芯片进行编程和调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值