wzg356 发表于 2020-11-12 20:42:34

绕去绕来的,望而却步,没信心

松树石头哥 发表于 2020-11-18 16:41:46

h806600727 发表于 2021-7-6 11:12:10

厉害了我的哥:handshake

mokson 发表于 2021-10-6 08:11:10

要学的东西太多了。

moshouhot 发表于 2024-6-7 17:21:14

; 匹配正则表达式,并打印出所有数字结果: 返回 ("13049.66" "19.574")
(print (try-StrRegExp "S=13049.66 平方米 合19.574亩" "[\\d.]+" nil ""))

; 替换所有数字为 "替换掉" 并打印结果: 返回 "S=替换掉 平方米 合替换掉亩"
(print (try-StrRegExp "S=13049.66 平方米 合19.574亩" "[\\d.]+" t "替换掉"))

; 提取数字序列,并打印结果: 返回 ("1291500406")
(print (try-StrRegExp "我是必强,1994年07月,我的邮箱是1291500406@qq.com" "{4,}" nil ""))

; 提取所有汉字字符,并打印结果: 返回 ("我" "是" "必" "强" "," "年" "月" "," "我的" "邮箱" "是")
(print (try-StrRegExp "我是必强,1994年07月,我的邮箱是1291500406@qq.com" "[\\u4e00-\\u9fa5]+" nil ""))

; 提取所有非ASCII字符,并打印结果: 返回 ("我" "是" "必" "强" "," "年" "月" "," "我" "的" "邮" "箱" "是" ".")
(print (try-StrRegExp "我是必强,1994年07月,我的邮箱是1291500406@qq.com" "[^\\x00-\\xff]+" nil ""))

; 提取包含在中括号中的内容,并打印结果: 返回 ("[十二]")
(print (try-StrRegExp "工艺图[十二]" "(\\[[^\\]]*\\])" nil ""))

; 提取包含在圆括号中的内容,并打印结果: 返回 ("(十二)")
(print (try-StrRegExp "工艺图(十二)" "[\\((][^\\))]+[\\))]" nil ""))



;示例:
; 打印提取的数字,返回:("123" "456" "7890")
(print (try-StrRegExp "我的电话是123-456-7890" "\\d+" nil ""))

; 打印替换后的邮箱地址,返回:"我的邮箱是example@newdomain.com"
(print (try-StrRegExp "我的邮箱是example@domain.com" "@domain.com" T "@newdomain.com"))

; 打印提取的HTML标签内的内容,返回:("这是标题")
(print (try-StrRegExp "<title>这是标题</title>" "<title>(.*?)</title>" nil ""))

; 打印替换空白行后的文本,返回:"这是第一行\n空白行\n这是第三行"
(print (try-StrRegExp "这是第一行\n\n这是第三行" "^\\s*$" T "空癫"))

; 打印提取的中文字符,返回:("世界")
(print (try-StrRegExp "Hello, 世界!" "[\\u4e00-\\u9fa5]+" nil ""))
; 查找所有数字,并打印结果: 返回 '(100)
(print (try-StrRegExp "The price is 100 dollars." "\\d+" nil ""))
; 打印返回:("123" "456" "7890")

; 查找所有单词,并打印结果: 返回 '("World" "Hello")
(print (try-StrRegExp "Hello, World!" "\\w+" nil ""))
; 打印返回:("World" "Hello")

; 替换所有数字为 "#" 并打印结果: 返回 "Order #, Item #."
(print (try-StrRegExp "Order 1234, Item 5678." "\\d+" t "#"))
; 打印返回:"Order #, Item #."

; 提取所有邮箱地址,并打印结果: 返回 '("email@example.com")
(print (try-StrRegExp "Contact me at email@example.com for more info." "\\b+@+\\.{2,}\\b" nil ""))
; 打印返回:("email@example.com")

; 提取中文字符,并打印结果: 返回:("世界")
(print (try-StrRegExp "Hello, 世界!" "[\\u4e00-\\u9fa5]+" nil ""))
; 打印返回:("世界")

moshouhot 发表于 2024-6-7 17:24:12

;try-StrRegExp 是一个使用正则表达式处理字符串的 AutoLISP 函数。它的功能是在给定的字符串中查找与正则表达式模式匹配的所有实例,并根据需要替换这些匹配项。
;
;参数:
;str1: 要搜索的源字符串。
;str2: 正则表达式模式,用于定义搜索的模式。
;bull: 布尔值,如果为 true,则会使用 str3 替换匹配到的字符串。
;str3: 替换字符串,当 bull 为 true 时,将用此字符串替换所有匹配到的字符串。
;返回值:
;在匹配模式下(bull为nil),返回一个列表,包含所有匹配到的子字符串。
;在替换模式下(bull为非nil),返回一个新字符串,其中所有匹配到的子字符串都被str3替换。
页: 1 2 [3]
查看完整版本: 正则表达式详解