0

所以我想匹配这个列表中的每个字符串,除了那些包含产品 SKU 的字符串,即 /s7892632 <---- 随机数字字符串。我一直在尝试这样做很长一段时间,但一直没有成功。任何见解将不胜感激。

   /account/login?returnurl=/account/forgotpassword
    /account/login?returnurl=/account/orders
    /account/orders
    /account/updateaddress
    /account/updateemail
    /account/updaterewardscard
    /brands/havaianas
    /careers
    /Category List
    /checkout
    /checkout/addresses
    /checkout/addresses/delivery
    /checkout/addresses/deliverymethod
    /checkout/affilinetbasket
    /checkout/anonymous
    /checkout/confirmation
    /checkout/express
    /checkout/login
    /checkout/login?returnurl=/checkout/addresses
    /checkout/null
    /checkout/payment
    /checkout/paypal
    /checkout/quickshop/
    /checkout/verify
    /click-and-collect
    /click-and-collect/click-and-collect-overview
    /corporate/about-matalan
    /corporate/careers
    /corporate/cookies
    /corporate/history
    /customer-services/accessibility
    /customer-services/contact
    /customer-services/customer-services-home
    /customer-services/delivery
    /customer-services/faq
    /customer-services/fitting-room
    /customer-services/here-to-help
    /customer-services/size-guides
    /delivery
    /events/mothers-day
    /events/mothers-day/s2516241/tassle-detail-slouch-bag
    /events/mothers-day/s2518752/waxed-jacket
    /events/mothers-day/s2519237/fabric-buckle-tote-bag
    /events/mothers-day/s2521182/heart-print-nightie
    /events/mothers-day/s2521184/heart-print-dressing-gown
    /events/mothers-day/s2521185/heart-print-pyjama-set
    /events/mothers-day/s2521679/structured-tote-bag
    /events/mothers-day/s2522143/chiffon-print-dress
    /events/mothers-day/s2522347/butterfly-enamel-bowl-32cm-x-8cm
    /events/mothers-day/s2526013/animal-print-jersey-blazer
    /events/mothers-day/s2527624/croc-tote-bag
    /events/mothers-day/s2529731/shift-dress
    /events/mothers-day?page=1&size=120&cols=4&sort=&id=/events/mothers-day&priceRange[min]=2&priceRange[max]=59
    /events/mothers-day?page=2&size=120&cols=4&sort=&id=/events/mothers-day&priceRange[min]=2&priceRange[max]=59
    /events/mothers-day?page=2&size=36&cols=4&sort=&id=/events/mothers-day&priceRange[min]=2&priceRange[max]=59
    /events/mothers-day?page=3&size=36&cols=4&sort=&id=/events/mothers-day&priceRange[min]=2&priceRange[max]=59
4

3 回答 3

1

以下应该有效:

^(?!.*/s\d{7}/).*

示例:http ://regexr.com?343nf

这假设您将每个字符串作为列表中的单独元素。如果这实际上将一个大字符串与多行匹配,您可以使用相同的正则表达式,但您可能需要根据您使用的工具启用全局和多行选项(并确保禁用 dotall/singleline)。

于 2013-03-12T22:34:06.020 回答
0

这匹配没有代码的行....

^((?!s\d{7}).)*$
于 2013-03-12T22:58:14.113 回答
0

尝试这个:

boolean noSku = !line.matches(".*/s\\d{5,}.*");

此用途{5,}允许 SKU 中的任意位数大于 4(为您提供匹配的灵活性)。您可以将号码更改为任何适合的号码。

于 2013-03-12T22:45:12.033 回答