我得到了一个类似的字符串
Text58||INPUT 6~~Text67||INPUT 7~~Text68||INPUT 8~~CR_Exp_Date||INPUT 9~~Text60||INPUT 10~~Text63||INPUT 14~~Combo_Box65||Ship~~Text66||INPUT 15~~First_Name||INPUT 18~~Middle_Name||INPUT 19~~Last_Name||INPUT 20~~Suffix||INPUT 21~~Country||INPUT 22~~Mailing_Address||INPUT 23~~City||INPUT 24~~State||INPUT 25~~Zip_Code||INPUT 26~~
尝试提取First_Name||INPUT 18
尝试执行(?=First_Name[||]).*?(?<=[~~][$])
没有想出其他什么。。。有人认为我做错了什么吗?
试试这个:
First_Name'|'|.*?(?=~~)
First_Name
不应该在前瞻中,您希望将其包含在匹配中- 要匹配一对
|
,您应该将它们包含在regexp中,并使用'
对它们进行转义 ~~
应该是积极的前瞻性的,而不是落后的。它们不需要放在括号里
如果你不想在比赛中包括First_Name||
(你为什么说你在问题中这样做?),你可以使用一个积极的后备:
(?<=First_Name'|'|).*?(?=~~)
在你的尝试中,你似乎向后看了又向后看。
演示