logo separator

[mkgmap-dev] How can I test if "(" or ")" is part of name

From Felix Hartmann extremecarver at gmail.com on Mon Jul 28 10:33:55 BST 2014

Thanks Gerd,

well no show - if that is what you meant
name ~ '.*\xhh('


     ^
         at java.util.regex.Pattern.error(Unknown Source)
         at java.util.regex.Pattern.x(Unknown Source)
         at java.util.regex.Pattern.escape(Unknown Source)
         at java.util.regex.Pattern.atom(Unknown Source)
         at java.util.regex.Pattern.sequence(Unknown Source)
         at java.util.regex.Pattern.expr(Unknown Source)
         at java.util.regex.Pattern.compile(Unknown Source)
         at java.util.regex.Pattern.<init>(Unknown Source)
         at java.util.regex.Pattern.compile(Unknown Source)
         at 
uk.me.parabola.mkgmap.osmstyle.eval.RegexOp.setSecond(RegexOp.java:51)
         at 
uk.me.parabola.mkgmap.osmstyle.eval.ExpressionReader.runOp(ExpressionReader.java:180)
         at 
uk.me.parabola.mkgmap.osmstyle.eval.ExpressionReader.readConditions(ExpressionReader.java:85)
         at 
uk.me.parabola.mkgmap.osmstyle.RuleFileReader.loadFile(RuleFileReader.java:115)
         at 
uk.me.parabola.mkgmap.osmstyle.RuleFileReader.checkCommand(RuleFileReader.java:192)
         at 
uk.me.parabola.mkgmap.osmstyle.RuleFileReader.loadFile(RuleFileReader.java:109)
         at 
uk.me.parabola.mkgmap.osmstyle.RuleFileReader.load(RuleFileReader.java:86)
         at 
uk.me.parabola.mkgmap.osmstyle.StyleImpl.readRules(StyleImpl.java:294)
         at 
uk.me.parabola.mkgmap.osmstyle.StyleImpl.<init>(StyleImpl.java:160)
         at 
uk.me.parabola.mkgmap.osmstyle.StyleImpl.readStyle(StyleImpl.java:554)
         at 
uk.me.parabola.mkgmap.reader.osm.RelationStyleHook.init(RelationStyleHook.java:38)
         at 
uk.me.parabola.mkgmap.reader.osm.OsmMapDataSource.pluginChain(OsmMapDataSource.java:185)
         at 
uk.me.parabola.mkgmap.reader.osm.OsmMapDataSource.setupHandler(OsmMapDataSource.java:153)
         at 
uk.me.parabola.mkgmap.reader.osm.bin.OsmBinMapDataSource.load(OsmBinMapDataSource.java:49)
         at 
uk.me.parabola.mkgmap.reader.osm.OsmMapDataSource.load(OsmMapDataSource.java:127)
         at 
uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:167)
         at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:63)
         at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:253)
         at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:249)
         at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
         at java.util.concurrent.FutureTask.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown 
Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown 
Source)
         at java.lang.Thread.run(Unknown Source)
java.util.regex.PatternSyntaxException: Illegal hexadecimal escape 
sequence near index 4
.*\xhh(



On 28.07.2014 11:30, GerdP wrote:
> Hi Felix,
>
> okay, sounds like an mkgmap problem then.
> Try to use the hex format:
> \xhh 	The character with hexadecimal value 0xhh
>
> Gerd
>
>
> Felix Hartmann-2 wrote
>> Well that's what I thought too... - so I tried many many possibilities.
>> However the strange this is - now that you said it and I tried it again.
>> It only works for ) , not for (
>> (I first only tried opening parentheses so thought it is not working at
>> all...)
>>
>> name ~ '.*\(' { set name='${name|subst:"(=>"}'; echo "namehasbracket=1" }
>> name ~ '.*\)' { set name='${name|subst:")=>"}'; echo "namehasbracket=2" }
>>
>> second rule is working, first rule not working...
>>
>>
>> Also not working is:
>> '.*\Q(\E'
>>
>> or
>> '.*[(]'
>>
>>
>>
>>
>> On 28.07.2014 11:02, Gerd Petermann wrote:
>>> Hi Felix,
>>>
>>> the normal escape character is the backslash \.
>>> See also
>>> http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html
>>>
>>> Gerd
>>>
>>>> Date: Mon, 28 Jul 2014 10:33:25 +0200
>>>> From:
>> extremecarver@
>>>> To:
>> mkgmap-dev at .org
>>>> Subject: [mkgmap-dev] How can I test if "(" or ")" is part of name
>>>>
>>>> I have a problem that I cannot escape brackets when trying to find out
>>>> if they are part of the name...
>>>>
>>>> name ~ '.*(' { }
>>>> is not working of course. However ^ is not able to escape a bracket...
>>>> name ~ '.*^(' { }
>>>>
>>>>
>>>> Is there any way to find out if there is a () in a name?
>>>> (the reason for this is that I want to know in Japan if the name is
>>> only
>>>> in Japanese, or in Japanese (English).
>>>>
>>>> --
>>>> keep on biking and discovering new trails
>>>>
>>>> Felix
>>>> openmtbmap.org & www.velomap.org
>>>>
>>>> _______________________________________________
>>>> mkgmap-dev mailing list
>>>>
>> mkgmap-dev at .org
>>>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
>>>
>>> _______________________________________________
>>> mkgmap-dev mailing list
>>>
>> mkgmap-dev at .org
>>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
>> -- 
>> keep on biking and discovering new trails
>>
>> Felix
>> openmtbmap.org & www.velomap.org
>>
>>
>> _______________________________________________
>> mkgmap-dev mailing list
>> mkgmap-dev at .org
>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
>
>
>
>
> --
> View this message in context: http://gis.19327.n5.nabble.com/How-can-I-test-if-or-is-part-of-name-tp5812870p5812883.html
> Sent from the Mkgmap Development mailing list archive at Nabble.com.
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

-- 
keep on biking and discovering new trails

Felix
openmtbmap.org & www.velomap.org



More information about the mkgmap-dev mailing list