regex - 漂亮的字符串操作

标签 regex vb.net string vba vb6

我有以下字符串,我希望从中提取部分:

<FONT COLOR="GREEN">201 KAR 2:340.</FONT>

在这种特殊情况下,我希望提取数字 201,2 和 340,稍后我将使用它们连接以形成另一个字符串:

http://www.lrc.state.ky.us/kar/201/002/340reg.htm

我有一个解决方案,但它不容易阅读,而且看起来很笨拙。它涉及使用 mid 功能。这里是:
intTitle = CInt(Mid(strFontTag, 
                    InStr(strFontTag, ">") + 1, 
                    (InStr(strFontTag, "KAR") - InStr(strFontTag, ">")) 
                           - 3))

我想知道是否有更好的方法来完成这项任务。我意识到我可以创建一些描述性的变量名称,比如 intPosOfEndOfOpeningFontTag 来描述第一个 InStr 函数的作用,但我仍然觉得它很笨拙。

我应该使用某种拆分函数、正则表达式还是一些我还没有遇到过的更优雅的方式?多年来我一直以这种方式操纵字符串,我只是觉得必须有更好的方法。谢谢。

最佳答案

<FONT[^>]*>[^\d]*(\d+)[^\d]*(\d+):(\d+)[^\d]*</FONT>

关于regex - 漂亮的字符串操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11268064/

相关文章:

.net - 当 SQL Server 返回转换错误时,SqlDataReader.ExecuteReader 也不异常(exception)

arrays - 使用正则表达式拆分以特定字符开头和结尾的组

python - 围绕下划线的三个python正则表达式

mysql - 在 mysql 正则表达式规则中转换正则表达式规则

c# - 如何对数据表中的列求和?

android - 字符串数组文本格式

删除最后一个数字之后的所有字符

python - 返回具有双连续字母的单词

MySQL:如果值仅为数字则更新列

.net - 在表单加载时将引用的 DLL 复制到本地目录