Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
I need to use scan in particular to get the data and the data only between two values using scan and a regex expression.
The values aren't static so I can't match using them.
Let me rephrase it, i need the value only. So something that allows me to get everything after id="results" value=" and before "
id="results" value="/randompath/lol.jpg"
I got no clue what you're actually searching for but if you want to extract the value of the attribute value in that string (assuming double quotes).
You can use this regex:
(?:^|\s|")value(?:\s+)?=(?:\s+)?(?:"((?:\\.|[^"])+)")
But for sure any html/xml parser like Nokogiri would be better if you can use one.
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 4 years ago.
Improve this question
I have strings like:
NoMethodError: undefined method 'sort_by!' for #<Hash:0x00007f98f03c84e0>
These strings can contain n number of such parts: <Hash:0x00007f98f03c84e0>.
Here, 0x00007f98f03c84e0 is just a placeholder of memory reference. And also Hash is type of object of which this memory reference is. There is no need to discuss how these strings got formed but in the end i have strings which can have anything like <ClassName:MEM_REF> and i have to replace MEM_REF part.
Going back to my original example, I want to remove this memory ref part 0x00007f98f03c84e0 with any string of my liking. Again, 0x00007f98f03c84e0 is an example, it will be any arbitrary memory address.
Looking for an elegant way of doing this in ruby.
Try following regex in ruby console, should work: /:[0-9]x[0-9A-Za-z]*(?=>)/.
And to mask these refs with anything else, try input_string.gsub!(/:[0-9]x[0-9A-Za-z]*(?=>)/, "REPLACE_TEXT")
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
For debugging purposes, I want to alter a rake test so as not to end a saved file with a newline.
I don't know ruby. How do I do this? (file.print doesn't seem to work.)
Not clear what you are doing, but since you tried file.print, it looks like you have access to what is to be printed. Let's say this is string. My guess is that string already has a newline character. Then do:
file.print(string.chomp)
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
東京都building千代田区丸の内1building2floor1number
to
東京都千代田区丸の内1-2-1
PS: Digits are double bytes.I have a string,that contains address. How to convert that address like above.
Answering the question that probably should have been asked (given the clarifications in comments):
address.gsub(/([0-9]+)(?:丁目|番地?|号)(?=[0-9]|$)/, '\1-').sub(/-$/, '')
This will process any sequences of "number+location" (with "location" being lot, block, (house) number...) that is either followed by another number, or is at the end of the string, replacing the location with a dash; then removing the final dash, if there is one.
Note that this will not pick up on Japanese numbers: if you get an address like 東京都千代田区丸の内一丁目2番1号, it makes no sense to transform it to 東京都千代田区丸の内一-2-1, and converting Japanese numbers into Arabic ones is trivial up to 9 and then a bit less trivial.
string.gsub(/(?<=[0-9])(?:丁目|番地?|号)\b/, "-").sub(/\z/, "")
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
"Galaxy".match(/(al)*/)
It seems that <<>>Galaxy is the match, where <<>> = matching part. Why is the R.E working? Perhaps because of \b?
RE:
Sorry, it's my fault to post unclear question.
Exactly, i want to know the reason that why the empty space is matched with (al)*.
Finally i could understand by you-all favor :)
The regex /(al)*/ allows it to match nothing at all, which is what it does. It starts at the beginning of the string, matches "nothing" and returns. If you expected it to match the al in Galaxy then you would need to use /(al)+/ to avoid empty matches.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
I am in a search of one regular expression which validates the following string format "1,a|2,b|3,c".
Also I want to parse this string and extract out the numbers and characters.
Can any one has any idea on what could be the best regular expression.
Thanks
Try this expression: http://regex101.com/r/qI7kW9
/(\d),([a-z])(?:\||$)/gi
The first capturing group will hold the digit, the second will hold the letter. If there will be more than one character that you want to capture, use this:
/(\d+),([a-z]+)(?:\||$)/gi