【发布时间】:2018-12-18 03:46:45
【问题描述】:
我有一个类似于下面的文本。它包含一个4 数字,后跟digit- 或whitespace,后跟.、?、-digit 或whitespace。
我需要匹配第一段中的所有数字,但第二段中没有,因为这些数字不符合我的条件。
Lorem ipsum 3400-digit, sit amet 5000 consectetur adipisicing elit. Natus, explicabo 6700? Itaque iure ipsum laboriosam, ex nemo delectus iste quia cupiditate digit-9134? Iste nam digit-2456 at voluptate est 8456-digit? At excepturi quis voluptatibus 7500.
Lorem ipsum $5000 dolor sit amet consectetur adipisicing elit. Obcaecati tempora dolorum repellat reiciendis cum soluta deserunt ex voluptatibus, nam illum veniam £5550 quidem aperiam sequi, nostrum sed? Quidem eveniet maiores #5550 autem. https://codepen.io/pen/5000/3454
StackOverflow 上已经有一些类似的问题。我已经浏览了其中的一些(下面的链接),但我仍然无法做到这一点。请在将此问题标记为重复之前,检查您的解决方案是否在第一段中找到所有出现的 4 位数字,但在第二段中没有找到。
【问题讨论】:
-
是否有
3400-digit与digit完全一样的词,或者是它,例如3400-456?预期匹配3400、5000、6700、9134、2456、8456和7500? -
它是
3400-digit、5000-digit或*-digit。 -
那么,这些捕获的文本
(?:\bdigit-|\s|^)(\d{4})(?=[.?\s]|-digit\b|$),对吧? -
非常感谢!看来确实如此。
标签: javascript regex