Regelmatige expressie om ruimtes te vinden

Ik heb de volgende tekst = “superilustrado e de capa dura?”, en ik wil alle spaties tussen woorden in de tekst vinden. Ik gebruik de volgende uitdrukking = [\\p{L}[:punct:]][[:space:]][\\p{L}[:punct:]]. De uitdrukking werkt prima, maar hij kan de spatie tussen de “e de” vinden. Weet iemand wat het probleem is met mijn reguliere expressie?


Antwoord 1, autoriteit 100%

Spaties kunnen eenvoudig worden gevonden door een spatie in uw regex te plaatsen.

Witruimte kan gevonden worden met \s.

Als je witruimte tussen woorden wilt vinden, gebruik dan de \bwoordgrensmarkering.

Dit komt overeen met een enkele spatie tussen twee woorden:

"\b \b"

(De reden dat uw overeenkomst is mislukt, is dat \\p{L}het teken in een overeenkomst bevat. Omdat eslechts één teken is, wordt het opgeslokt door de vorige overeenkomst en kan niet worden gevonden voor de spatie na e. \bvermijdt dit probleem omdat het een nul-breedte overeenkomst is.)


Antwoord 2, autoriteit 20%

Misschien volg ik niet, maar waarom gebruik ik niet gewoon [ ]?


Antwoord 3, autoriteit 16%

// Setup
var testString = "How many spaces are there in this sentence?";
// Only change code below this line.
var expression = /\s+/g;  // Change this line
// Only change code above this line
// This code counts the matches of expression in testString
var spaceCount = testString.match(expression).length;

Other episodes