Home > OS >  Translate regex extraction method from R to javascript
Translate regex extraction method from R to javascript

Time:12-09

I'm posting this question for a friend who works in javascript. In this type of string:

string <- '<p><strong><kE id="a2252996-46e5-4d41-a1a5-1443906a51b7">Schema: Berechnung des Funktionswerts</KE></strong></p>
  
  <p>Wenn nach den Werten einer Funktion für bestimmte x-Werte gefragt ist, sollst du die zugehörigen y-Werte berechnen.</p>
  
  <p>(Schritt 1) Setze für jedes x in der Funktion den gegebenen x-Wert ein. Berechne daraus den gesuchten y-Wert.</p>'

he wants to do the same in javascript that this R code does:

library(stringr)
str_c("[' ", str_extract(string, '(?i)(?<=<)KE id="[\\w-] "(?=>)'), " ']")
[1] "[' kE id=\"a2252996-46e5-4d41-a1a5-1443906a51b7\" ']"

Any hints at how the same extraction is achieved in javascript?

CodePudding user response:

As @The fourth bird pointed out, you can use the capture group <(kE id="[\w-] ")> instead of the one that you listed.

var string = '<p><strong><kE id="a2252996-46e5-4d41-a1a5-1443906a51b7">Schema: Berechnung des Funktionswerts</KE></strong></p>' 
             '<p>Wenn nach den Werten einer Funktion für bestimmte x-Werte gefragt ist, sollst du die zugehörigen y-Werte berechnen.</p>' 
             '<p>(Schritt 1) Setze für jedes x in der Funktion den gegebenen x-Wert ein. Berechne daraus den gesuchten y-Wert.</p>'


var extract = string.match(/<(kE id="[\w-] ")>/)[0]
                    .replace("<","[' ")
                    .replace(">"," ']")
                    .replaceAll('"', '\\"')
console.log(extract)

//Output: [' kE id=\"a2252996-46e5-4d41-a1a5-1443906a51b7\" ']
  • Related