我试图提取在查找值(Form & FMLA)之间出现的9位数字。这就是我用来瞄准我的查找背后的逻辑:(?<=Form)(\S\s*)(?<=FMLA).我能再加上一个部分来提取9位数吗?任何帮助都将不胜感激。谢谢!
Form (用于请病假)不将此文档与请休假的原始请求一起返回。请在预期返回工作的日期前5-7天将此文件发电子邮件或传真至人力资源服务中心。
第一节:由协理助理的姓名填写:副助理的职务名称: Associate;Location / Store # 123456789第二部分:由治疗该协理/病人的保健提供者完成:您的病人目前正在休假。回答,完全和完全,所有适用的部分。有几个问题寻求对病情、治疗等的频率或持续时间的回答。根据你的医学知识1、经验和对病人的检查,你的回答应该是你最好的估计。尽可能具体;“生存期”或“不确定”等术语可能不足以确定覆盖范围。
发布于 2021-12-10 15:01:30
您可以使用
(?s)(?<=Form.*?)\d{9}(?=.*?FMLA)如果需要确保没有其他数字包围9位数字的子字符串,请使用
(?s)(?<=Form.*?)(?<!\d)\d{9}(?!\d)(?=.*?FMLA)见.NET regex演示。详细信息
(?s) -使.跨行边界匹配的RegexOptions.Singleline内联修饰符标志(?<=Form.*?) -一个积极的查找,需要From,然后任何零或多个字符,尽可能少,立即在当前位置的左边。\d{9} -九位数(?=.*?FMLA) -一个积极的前瞻性,需要任何零或多个字符,尽可能少,然后FMLA子字符串。发布于 2021-12-09 20:22:41
可以将此构造添加到regex以匹配9个连续数字:
([0-9]{9})0-9是指0到9之间的任何数字
括号中的9意味着重复前面的9次
最后的regex表达式应该是:
(?<=Form)([\S\s]*)([0-9]{9})(?<=FMLA)https://stackoverflow.com/questions/70296200
复制相似问题