Foxtable(狐表)用户栏目专家坐堂 → 正则式求助


  共有3356人关注过本帖树形打印复制链接

主题:正则式求助

帅哥哟,离线,有人找我吗?
foxtable1
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
正则式求助  发帖心情 Post By:2020/3/31 14:56:00 [显示全部帖子]

string="旧报纸是否是可回收物。(??)?2.废旧的家具(桌椅、沙发、床垫)是大件垃圾,大件垃圾是否属于干垃圾。(??? 3.旧鞋子属于可回收物。(??) ?"

请问如何用正则式匹配(是)与(否),以下代码好像不能全部匹配出来,pattern如何写?

dim st as string =="旧报纸是否是可回收物。(??)?2.废旧的家具(桌椅、沙发、床垫)是大件垃圾,大件垃圾是否属于干垃圾。(??? 3.旧鞋子属于可回收物。(??) ?"

dim p as string = ".*(?=\(\s*[\u4e00-\u9fa5]\s*\))"

'Do While len(trim(MyRange.text))>1
   ' m=m+1

         Dim rgx = new System.Text.RegularExpressions.Regex(p,System.Text.RegularExpressions.RegexOptions.IgnoreCase)

         messagebox.show(rgx.Replace(st, ""))
         'messagebox.show(rgx.Replace(MyRange.text, ""))

 


 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2020/3/31 14:58:00 [显示全部帖子]

以上?处其实为空格 ,发上来后,怎么全变成了问号了

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2020/3/31 15:53:00 [显示全部帖子]

请问要匹配出文字串中的“(是)”与“(否)”,如何写正则表达式,pattern如何写?

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2020/3/31 20:13:00 [显示全部帖子]

 这个 pattern写法是什么语法?应该是.net的正则语法吧,与vba的一样吧。可是"\(*.[是|否] *.\)"写法有点不一样。我的写法“\(\s*[\u4e00-\u9fa5]\s*\))"有什么问题?

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2020/4/1 10:51:00 [显示全部帖子]

问题:将word中的文本内容复制出来放到命令窗口中作为字符串测试,For Each  match 可以全部输出。

然而,直接引用word文档(如Dim MyRange As object=Doc.content,通过MyRange.text来直接引用文本字符串,For Each  match 却失败,没有匹配输出。


 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2020/4/1 11:29:00 [显示全部帖子]

axWebBrowser = Nothing
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter = "word文件|*.doc;*.docx|txt文件|*.txt"
If dlg.ShowDialog = DialogResult.OK Then '如果用户单击了确定按钮
    Dim web As Object = e.Form.Controls("WebBrowser1").basecontrol
    web.Navigate(dlg.FileName)
    Do Until axWebBrowser IsNot Nothing
        Application.DoEvents
    Loop
   
    Dim oDocument As object = axWebBrowser.Gettype().InvokeMember("Document", System.Reflection.BindingFlags.GetProperty, Nothing, axWebBrowser, Nothing)
    Dim oApplication As object = axWebBrowser.Gettype().InvokeMember("Application", System.Reflection.BindingFlags.GetProperty, Nothing, oDocument, Nothing)
    vars("doc") = oDocument
End If

Dim Doc = vars("doc")
Dim MyRange As object=Doc.content

Dim Ori() As String = {"\(*.[是|否] *.\)"}                    '{"(\( *.*[是|否].* *\))+?"}    ' {".*(?=\(\s*[\u4e00-\u9fa5]\s*\))"}

Do While len(MyRange.text)>1
         Dim p As String= Ori (0)  
        Dim rgx = new System.Text.RegularExpressions.Regex(p,System.Text.RegularExpressions.RegexOptions.IgnoreCase)
        messagebox.show(rgx.Replace(MyRange.text, ""))

loop


 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2020/4/1 11:59:00 [显示全部帖子]

msgbox(MyRange.text) 显示的内容是word文档内容,

messagebox.show(rgx.Replace(MyRange.text, ""))也是word文档内容(只有一处匹配到了,被“”替换),说明没有全部匹配


 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2020/4/2 8:58:00 [显示全部帖子]

文档上传

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2020/4/2 8:59:00 [显示全部帖子]

文档

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2020/4/2 9:02:00 [显示全部帖子]

添加附件,上传附件后,页面没有出现文档。是哪里操作不对吗
[此贴子已经被作者于2020/4/2 9:04:11编辑过]

 回到顶部
总数 14 1 2 下一页