recherche

Maison  >  Questions et réponses  >  le corps du texte

php - Comment utiliser la correspondance régulière pour trouver des mots qui ne contiennent pas un mot spécifique (plusieurs caractères, pas le début ni la fin)

Hors sujet : quand j'étais sous Linux, j'ai vu last | grep [a-zA-Z] | grep -v 'wtmp' | Je me demandais si je pouvais le faire avec un seul grep, alors je J'ai réfléchi à la possibilité d'utiliser des expressions régulières. Une certaine ligne correspond à un certain mot (comme wtmp), mais le résultat n'est pas compris.

習慣沉默習慣沉默2747 Il y a quelques jours828

répondre à tous(2)je répondrai

  • 淡淡烟草味

    淡淡烟草味2017-05-24 11:34:15

    js
    /^(?!.*wtmp)/

    > p1=/^(?!.*wtmp)/
    /^(?!.*wtmp)/
    > p1.test('abc123')
    true
    > p1.test('abc1wtmp23')
    false
    >

    répondre
    0
  • 为情所困

    为情所困2017-05-24 11:34:15

    La correspondance ne contient pas, cette difficulté devrait être relativement grande pour les expressions régulières, car cette condition peut être vraie à cette position, mais elle peut ne pas être vraie à la position suivante. Cependant, les expressions régulières renverront toute chaîne qui satisfait au modèle
    Pour Pour l'exemple de votre question, je suggère d'utiliser awk pour l'implémenter :awk实现:

    last | awk '!=wtpm&&/[A-Za-z]/{num++}END{print num}'

    awk rrreee

    awk peut fournir un traitement logique plus flexible et est plus lisible Par rapport à une seule expression régulière, je pense que awk est un meilleur choix dans le scénario de la question, mais si vous utilisez un autre langage pour l'implémentation, vous devrez peut-être vous référer aux méthodes d'autres langues🎜

    répondre
    0
  • Annulerrépondre