go正则,怎样提取中文文本中间的词?
例:递归火山软件开发平台,怎样以定“火山”和“开发”为边界提取出“软件”两个字。大佬帮助下,谢谢。这代码 视窗和服务器都能用~
<火山程序 类型 = "通常" 版本 = 1 />
方法 文本_取中间 <公开 静态 类型 = 文本型>
参数 欲操作的文本 <类型 = 文本型>
参数 前面文本 <类型 = 文本型>
参数 后面文本 <类型 = 文本型>
参数 起始搜寻位置 <类型 = 整数 @默认值 = 0>
参数 是否不区分大小写 <类型 = 逻辑型 注释 = "为真不区分大小写,为假区分。" @默认值 = 假>
{
变量 前面位置 <类型 = 整数>
变量 后面位置 <类型 = 整数>
前面位置 = 寻找文本 (欲操作的文本, 前面文本, 起始搜寻位置, 是否不区分大小写)
如果 (前面位置 != -1)
{
前面位置 = 前面位置 + 取文本长度 (前面文本)
后面位置 = 寻找文本 (欲操作的文本, 后面文本, 前面位置, 是否不区分大小写)
如果 (后面位置 != -1)
{
返回 (取文本中间 (欲操作的文本, 前面位置, 后面位置 - 前面位置))
}
}
返回 ("")
}
抱歉..没发现写的正则~ go本来是可以用切片解决的,火山封装了一层就不知道了 <火山程序 类型 = "通常" 版本 = 1 />
变量 正则 <类型 = 正则表达式类>
变量 结果 <类型 = "文本型 [][]">
结果 = 正则.必须编译成功 ("火山(.*?)开发").查找所有文本子匹配 ("递归火山软件开发平台", -1)
换行输出 (结果 )
小蜗牛 发表于 2024-8-18 22:42
抱歉..没发现写的正则~
谢谢,小蜗牛大佬热心解答! 459943578 发表于 2024-8-18 23:54
变量 正则
变量 结果
结果 = 正则.必须编译成功 ("火山(.*?)开发").查找所有文本子匹配 ("递归火山软件 ...
谢谢大佬。看“查找文本匹配”和“查找所有文本子匹配”注释说明,看不明白。用“查找文本匹配”老包含边界。
页:
[1]