Find/Change Grep only finds one instance per paragraph, where am I going wrong?

Hi,
I've been using a Find/Change Grep to find any price with a comma and change that comma to a thin space (Newspaper's editorial style).
But the Grep only finds the first instance of this per paragraph.
Sample text...
"$200,000 $200,000 $200,000.
text at start of paragraph $200,000
$200,000 text at end of paragraph
tab     $200,000."
In the sample the grep would miss the second and third price on the first line.
I've been using...
Find...
(?<=\$)(\d{3})\,?(\d{3})
also tried (\$\d{3})\,?(\d{3})
Change to...
$1~<$2
Is there anything I can add to find these last two prices?
I've been using this in combination with Batch Find Replace script, so different greps are set up for 5,6 and 7 digit numbers that start with $.
Thanks.

Try this,
Find what: (?<=\x{0024})(\d{3})\,?(\d{3})
Change to: $1~<$2
Vandy

Similar Messages

  • Find/Change - GREP vs. TEXT

    Today, thanks to this amazing forum, I discovered that I had been using "Find/Change" under TEXT, instead of GREP.
    Using "Find/Change" as GREP for finding & replacing seems to be MUCH MORE POWERFUL than "TEXT."
    What are the disadvantages of using "Find/Change" GREP ?  I notice it cannot do "case sensitive" — any other cons?

    GREP searches can be either case insensitive on or off
    case insensitive on:  (?i)
    Case insensitive off  (?-i)
    Example:
    Search for either "case" or "Case"    (?i)case    found on 1st, 2nd and 3rd line
    Search for just "Case"     (?-i)Case    found on 3rd line only

  • ISV embedding database with one instance per server limitation

    Hi All,
    As an ISV, it would be nice for Oracle to provide a better embedding solution than a silent install then having to script the creation of, or restore the database. Not because it's too complicated for an ISV to script, but purely for speed reasons. It's much faster to copy pre-loaded data files onto a machine than to create empty data files, load the data in, perform an analyze and any other scripts on the database. Dems just my thoughts.
    However, my real issue is regarding the 'one instance per server' install limitation. As an ISV, if I choose to embed Oracle XE in my application - how can I 'guarantee' that my product can be installed on any given server. Picture this:
    - We submit a proposal/ tender for a license to our software.
    - Client, in conjunction with their IT dept adds internal costs, identifying servers that will run on, responsibilities, project plans (the whole works) etc.
    - Client gets signoff from their management and pays for license.
    - Client goes to install our software using Oracle XE just to find that another ISV has their software with Oracle XE embedded installed on the server.
    - Client either has to find/ buy another server, or we lose the license. Either way, client is unhappy.
    Am I missing something here? Is anyone else anticipating this problem?
    Brad

    Hi Florin,
    Thanks for the response.. a good suggestion and our schema would be < 1GB so size would hopefully not be a problem. However, as soon as we plug into another appliation's Oracle XE implementation - we've potentially lost control of the database and it loses it's "embedded" nature. Probably not a huge problem if it's an application independant implementation of Oracle XE by an IT person, but if it's another ISVs embedded database - the dramas could start.
    We effectively put our user's database within the control of another application who may not have considered the possibility of our data residing there. eg. They could do a 'drop-all' and we lose our database. Or tune the database right down and our application suffers. Or the user uninstalls that application and it decides to automatically remove Oracle XE (after all, that ISV thought it was an embedded application, right?). Do you see the potential issues?
    Perhaps Oracle XE isn't as attractive for ISVs as first thought... I guess at the heart of the issue is the fact that Oracle XE isn't really an embedded database. It's just a database you can [silently] install with your application and then becomes a general db on the machine.

  • SAP APO DP CBF - Change data only at one level

    Hello Guys,
    I am getting error as "Change data only at one level".
    I am getting this error while loading data in the planning book at product level (Details All on products).
    I have a default macro in the data view. However, I am getting proper results when i do a details all on some other characteristic.
    Any clue about these error message ?
    Regards,
    Jacky Jain.

    Hello Guys,
    I am getting error as "Change data only at one level".
    I am getting this error while loading data in the planning book at product level (Details All on products).
    I have a default macro in the data view. However, I am getting proper results when i do a details all on some other characteristic.
    Any clue about these error message ?
    Regards,
    Jacky Jain.

  • Find/Change GREP - FindChangeByList - help!

    Hi,
    Can anyone help with my GREP problem? I have a long unformatted list of products, I need a couple of GREP find and change queries to help format the list. The formatting will be based on paragraph styles for product header, description and product code. I have GREP working correctly to find the product code lines and apply the 'product code' paragraph style, but I'm struggling to target the product header line. The product header is on the next line after the product code, or it could be found on the line above the product description. I need GREP to find the product header to apply the product header paragraph style. I'm looking at using FindChangeByList; so far I have the folowing:
    grep
    {findWhat:"(Product Code|Product code)$"}
    {appliedParagraphStyle:"Product Code-green"}
    The above line finds all the Product Codes and applies the paragraph style. It works perfectly well from Indesigns Find/Change panel and FindChangeByList.
    But the next bit doesn't work:
    grep
    {findWhat:"^(?<=\\r)", appliedParagraphStyle:"Product Code-green"}
    {changeTo:"", appliedParagraphStyle:"Product Header-green"}
    I've tried to target the 'Start of a paragraph (^)' (this will be the product header) that has - 'Paragraph Break (\r)' with the 'Product Code-green' applied (this is the product code), in front of it. - (Am I right in thinking that in the FindChangeByList script I need 2 slashed on \\r - I have tried with 1 and 2 - no joy.)
    If I do this in Indesigns Find/Change panel it does kind of work. If I click find, it will find the correct point, and click change, it will apply the correct style to the product header - BUT if I click CHANGE ALL - it doesn't work. It reports '0' instances found, yet if i click Find again it will find the next instance. So it's kind of working on an individual click and find basis, but not on global change all - STRANGE? And it doesn't work at all when run from FindChangeByList.
    Anybody got any thoughts on why this is happening? or a better piece of GREP to try? Would really like it to be running from FindChangeByList. Hope the above makes sense.
    Thanks

    Hi,
    You can go straight or try to modify 'MultiFind' script.
    I suggest to use a text conditions and go straight with this code:
    var
              mDoc = app.activeDocument,
              mCond = mDoc.conditions.item("mFound"),
              mPath = "~/Documents/ID_words_to_find.txt",
              mDelimiter = ",",
              mSource = File(mPath),
              mOpen = mSource.open("r",undefined,undefined),
              len, len1, mWordsArr, mFound;
    if (!mCond.isValid)
              mCond = mDoc.conditions.add({
                        name: "mFound",
                        indicatorColor: UIColors.LIGHT_BLUE,
                        indicatorMethod: ConditionIndicatorMethod.USE_HIGHLIGHT,
                        underlineIndicatorAppearance: ConditionUnderlineIndicatorAppearance.SOLID
    if ( !mOpen) {alert ("Can't open a source file"; exit()};
    mWordsArr = mSource.read().split(mDelimiter);
    len = mWordsArr.length;
    app.findTextPreferences = null;
    while (len-->0) {
              app.findTextPreferences.findWhat = mWordsArr[len];
              mFound = mDoc.findText();
              len1 = mFound.length;
              while (len1-->0)
                        mFound[len1].appliedConditions = [mCond];
    app.findTextPreferences = null;
    How it works (should)?
    Assumed:
    - a list of words to find is in a .txt file as comma-delimited (you could set other delimiter)
    - this file is named 'ID_words_to_find'  and saved in user Documents folder (you can change mPath)
    Script define a condition 'mFound' and apply it to every word from your list found in a document. They are highlighted. You can modify them.
    Notice: to remove a condition (highlight) modify a word including a space before it.
    Enjoy:)
    Jarek

  • Limiting MDB to one instance per cluster

    I'm working on a Weblogic setup that has one cluster consisting of three servers. We have one queue in particular whose MDB does a lot of database access. We're running into locking problems with the database because Weblogic is running an instance of the MDB on each of the three servers at the same time and they are stepping on each other's toes.
              I would like to limit the queue so it only runs on one server in the cluster. The pool size for this MDB is set to "1". I thought this would limit the total number of MDBs to one, but apparently it limits it to one per server.
              Any idea what sort of configuration I need to make sure only one instance of the MDB exists in the cluster? Do I need to turn this into a distributed queue and do something with load balancing?
              Thanks,
              Matt

    Thanks for the reply.
              I looked around and I couldn't find a way to target the MDB to a specific server. I can target the JMS server, but not a single MDB. The way I have it setup currently, the JMS server is targeted to one server in the cluster (non-migratable).
              How do I target a MDB to a specific server?
              Matt

  • How do you use only one plugin in Logic for multiple guitar tracks? I want to only use one instance of Pod Farm and run all my guitar tracks through that one instance.

    I want to be able to use only one instance of Pod Farm for my guitars, and have all of my guitar tracks run through it while I'm recording.

    What he said. Or here is a similar approach with a picture.
    1. Press the SEND button on every stereo (or mono) guitar track you want to send through the effect. Then select a free bus.
    2. Make sure you turn up the amount of send (in db). Holding alt while leftclicking on this circle sets the send level to 0 db wich is good.
    3. Open the mixer (Cmd+2). Please see that I here have turned the output off from the stereo guitar track. That way the only output will be the BUS, in your case the AmpTrack bus where all your guitars will pass through. If you want both the original guitar sound AND the Ampfarm effect then just set all outputs on your guitar tracks to Stereo Out, like the AmpF Bus track is set in my picture.
    4. Insert your AmpFarm plugin here. I don´t have that plug so I inserted Waves Renes Axe for demo purpose.
    Adjust the volume/effect of every guitartrack by turning the circle input shown as 2. in my picture.
    I now see that you mentioned Pod Farm, not AmpFarm. But I guess it´s the same trick.
    Have fun.
    Heyclown.
    Message was edited by: WizardSongs - Typhoos

  • Only letting one instance of my application run

    hi guys,
    My application will allow the user to interact with the database. The database will be stored on a local machine, and not on a network, so that only one person can access it at a time.
    The problem is, I believe a user can launch two instances of my application simultaneously, and therefore there are potential problems.
    So I want the user to only ever be able to launch one instance of the JFrame through which all interactions to the DB are made.
    So MyApp.java contains
    class MyApp
    public void main (String[] args)
    MyFrame mF = new MyFrame();
    }Now, is it the right idea of mine to make mF singleton? Or is it the wrong approach?
    But what is confusing me is...if at the java prompt I type
    java MyApp
    and then I type, once again
    java MyApp
    will these two be treated as two completely different running of programs? Say I had mF as a singleton. Does this mean there can exist one instance of mF in each of my two different runnings of MyApp, or are the two somehow connected, which means that if I ran MyApp a second time theer'll be some sort of error cos mF already exists and cos it is a singleton, it can't exist twice?
    Sorry if I havent made myself clear. I'm very confused myself.
    Thanks.
    AU

    My application will allow the user to interact with
    the database. The database will be stored on a local
    machine, and not on a network, so that only one
    person can access it at a time.If using jdbc then local or remote only really effect your database driver choice not your code.
    The problem is, I believe a user can launch two
    instances of my application simultaneously,Yes.
    and therefore there are potential problems. Potential but not that difficult to avoid.
    So I want the user to only ever be able to launch one
    instance of the JFrame through which all interactions
    to the DB are made.If you think about responsibilities, then data integrity is not the responsibility of the UI, its the responsibility of the DBMS.
    Now, is it the right idea of mine to make mF
    singleton? Or is it the wrong approach?A Singleton will only ensure that a jre has a single instance. If you start multiple instances of the jre then there can be one instance of the application in each.
    The best solution is to use your databases normal locking process through the JDBC api
    The simplest solution is for your program to lock either the database, the table or the record you are interested in. You can do this by creating a lock record on a seperate table. If the insert fails to create the record, somebody else is already using the dataset. If it succeeds then is available. You will need a way to forcible clear the lock if your application stops unexpectedly.

  • I write a mail and send it but when there is only one word per line. What do I wrong?

    I write many word per line but when I send it will turn to be only one word per line

    Did you check the HTML code of that message to see if tags like "span" or "p" or "div" were added or other CSS code to limit the width?

  • "ORA-00928: missing SELECT keyword" only on one instance in RAC

    I am using oracle 9i RAC.When I run a query in one instance it is working fine but in another instance of RAC it is giving "ORA-00928: missing SELECT keyword".
    I am wondering why it happening in the same RAC.Please suggest me where is the problem.
    Thanks

    STAR_TRANSFORMATION_ENABLED=true in both instances
    My query lools like
    SELECT * FROM
         (SELECT coulmn1,col2
                   FROM tab1 wh full OUTER JOIN tab2 stg on wh.row_id = stg.row_id
                   WHERE wh.MODIFICATION_NUM IS NULL
                   OR stg.MODIFICATION_NUM IS NULL
                        OR wh.MODIFICATION_NUM <> stg.MODIFICATION_NUM) WHERE REC_STA <>'D';
    Please suggest
    Thanks

  • Limite RemoteApp to one instance per user

    Hello everyone,
    A customer asked us to make an (unfinished) application available to them. Since this application is unfinished we want to make sure that only one person at a time is using it and that under no circumstances the customer can copy the application.
    RemoteApp seems perfect for this, however standard it allows users to open the same application as much as they like with the same credentials.
    Is there a way to limit the RemoteApp applications to one per user session?

    Hi,
    Another idea is to create an additional user account and limit only this account can use this RemoteApp.
    Thanks.
    Jeremy Wu
    TechNet Community Support

  • FDS only creating one item per session

    I'm using a ColdFusion data source assigned to a MS-SQL
    database. The database has a primary key with data type set to
    smallint, auto-increment/identity = yes.
    I'm using the CFC wizard to create my CFCs and actionscript
    valueObject. My application is basic so far, just a data grid and a
    3-field form. When I run my app, the data grid populates properly
    with the data from my MS-SQL db. I can fill out the form and submit
    the data, which adds another record to my database and is
    immediately reflected in the data grid. However, if I try to add
    additional records, the application does not do anything. I have to
    refresh my app each time I want to add a new record.
    I'm using DataService to handle my data (along with FDS which
    is running on my server).
    here's my basic setup
    import mx.data.DataService;
    import mx.collections.ArrayCollection;
    import valueObjects.myTable; // created by CFC Wizard
    private var ds:DataService;
    [Bindable]
    private var ac:ArrayCollection;
    private var myObject:myTable;
    private function initApp():void{ // this is called from
    creationComplete
    ds = new DataService("myds");
    ac = new ArrayCollection();
    ds.fill(ac);
    private function newRecord():void{
    myObject = new myTable;
    myObject.col1 = field1.text;
    myObject.col2 = field2.text;
    myObject.col3 = field3.text;
    ds.createItem(myObject);
    resetForm() // just a method that clears the form fields for
    additional entries
    So I fill the fields out (field1, 2, 3) and hit the submit
    button, which calls newRecord(). This will insert my newly created
    record into my database and will also immediately display in the
    datagrid. But from this point on, no new records can be added
    without manually refreshing the browser.
    My work-around for this is adding ds.release(); and
    ds.fill(ac); after ds.createItem(myObject); While this works, it's
    very clunky. Each record I add clears the datagrid and repopulates
    it, creating a "flash" of the datagrid in which things disappear
    and then reappear. It's only a minor cosmetic flaw, but to myself
    it's an eye sore. I've created MS access db apps using the same
    code and I've never had to release and refill my ds.
    So what could be going on that would prevent new items from
    being added? I am 100% sure that my app fails when calling
    ds.createItem() twice or more times.

    Uh. I should have put the version number in the title. I've happily ripped more than one CD after another in the past. Currently running Windows XP with all it's attendant updates and the latest build of iTunes. However I've just realised I was controlling the PC via Remote Desktop at the time which would appear to be the cause of the problem, although I'm pretty sure Windows Explorer noticed the change of CD contents at the time. Anyway, working locally normal service is resumed.
    tt2

  • Spry Collapsible content working only on one instance

    Hoping someone can give me some direction on how to fix this issue. I am using the Spry Collapsible to hide job requirements on my employment page. My employment page gets its data from my database. It can have 0 to 25 entries showing at any given time. I am using the collapsible to save on space. With in each collapsible is also grabbing information from my database. The very first widget that appears comes up just fine. The rest all stay open. I was trying to insert my code for viewing, but it kept coming up showing the table instead of the code. Thanks in advance for any help you can give me.

    If you have a look at this example, you will notice that there are 6 collapsible panels each with a unique ID, and there are also 6 constructors, one for each panel.
    This is in contrast to what you have got where you have given the same ID to each of your panels as in
    <div id="CollapsiblePanel1" class="CollapsiblePanel">
    and have a twice repeated constructor as in
    var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1", {contentIsOpen:false, enableAnimation:false});
    What the constructor does in this instance is target the first occurrance of CollapsiblePanel1
    Judging form a repeated error in your markup, I assume that you have a repeat area driven by data from a database of sorts.We need to assign each reapeated area a unique ID with matching constructors.
    Within the repeated region, the markup will look like
    <div id="CollapsiblePanel<?php echo $recordID; ?>" class="CollapsiblePanel">
    where $recordID is the field name of the unique ID of the database record.
    The constructors will need to be placed at the bottom of (but within) each repeated region and will look like
    var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel<?php echo $recordID; ?>", {contentIsOpen:false, enableAnimation:false});
    The repeated error is the non-closure of the TD element as in
    </tr>
          <td rowspan="6" align="left" valign="top" class="supertext">
    </tr>
    Being an empty element, you could probably delete all of the above.

  • Mavericks server only serves one calendar per user

    Hi everybody,
    I'm a little bit stuck and could use some help. My situation:
    I've installed mavericks server, configured dns and open directory, started file sharing, defined home folders for network users on the server, created network users and started calendar &amp; adressbook services.
    I've bound a mavericks client to the server and I'm able to log into the client with a network account. The home directory lies on the server and everything is running ok. I've created two calendars with the account and entered some appointments. Logging into another client everthing shows up, as it should be.
    So far so good.
    Now I'm trying to add the calendar of the above network account to an iphone or to another account on the client. Unfortunately the server presents on the iphone as well on the client only one empty calendar. I suppose it's a new calendar and not one of the calendars I've created upfront on the server.
    Any clues?

    This might help: http://securityspread.com/2013/10/27/setting-sync-server/

  • Threads: I only want one instance.

    I am starting a daemon thread from a servlet that gets loaded on startup (Tomcat 5.5). The servlet's init() method creates a thread that optimizes my Lucene indexes every 2 hours.
    This is what's in the servlet's init method:
    Thread optimizer = new Thread(new LuceneIndexOptimizer(conf), "Lucene Index Optimizer");
    optimizer.setDaemon(true);
    optimizer.setPriority(Thread.MIN_PRIORITY);
    optimizer.start();     The thread looks like this:
    public class LuceneIndexOptimizer implements Runnable {
         private Config conf = null;
         public LuceneIndexOptimizer(Config conf) {
              this.conf = conf;
         public void run(){
              while (true) {
                   LuceneFuncs.optimize(this.conf);
                   try{
                        Thread.sleep(7200000); // 2 Hours.
                   catch(InterruptedException ex){
                       ex.printStackTrace();
    }Now the problem is that whenever the context is reloaded, that servlet is re-initialized and a new thread gets started without the old one ever going away.
    How do I make sure that only one of these threads is running at a given point in time?

    Again, good information. Thanks.
    At any rate, I ended up going with the ServletContextListener interface as I think it is cleaner.
    How it works:
    In my web.xml I have this entry:
    <!--  Context Listener for Application Initialization -->
    <listener>
         <listener-class>
              com.r10.rp.context.RPInit
         </listener-class>
    </listener>The RPInit class:
    public class RPInit implements ServletContextListener {
         public static final long serialVersionUID = 10;
         private LuceneIndexOptimizer indxOpt = null;
         public void contextInitialized(ServletContextEvent event) {
              // Set application specific config variables.
              System.out.println("com.r10.rp.config.RPConfig INFO: Setting Application Config Variables");          
              ServletContext ctx = event.getServletContext();
              RPConfig.createConfig(ctx);
              RPConfig conf = (RPConfig) ctx.getAttribute("RPConfig");          
              // Start Lucene Optimizer
              System.out.println("com.r10.rp.config.RPConfig INFO: Initializing Lucene Index Optimizer");
              this.indxOpt = new LuceneIndexOptimizer(conf);
              Thread optimizer = new Thread(this.indxOpt, "Lucene Index Optimizer");
              this.indxOpt.setOptimizer(optimizer);
              optimizer.setDaemon(true);
              optimizer.setPriority(Thread.MIN_PRIORITY);
              optimizer.start();                    
         public void contextDestroyed(ServletContextEvent event){
              this.indxOpt.stop();
    }The IndexOptimizer thread:
    public class LuceneIndexOptimizer implements Runnable {
         private RPConfig conf = null;
         private volatile Thread optimizer;
         public LuceneIndexOptimizer(RPConfig conf) {
              this.conf = conf;
         public void run() {
              Thread thisThread = Thread.currentThread();
              while (thisThread == this.optimizer) {
                   LuceneFuncs.optimize(this.conf);
                   try{
                        Thread.sleep(7200000); // 2 Hours.
                   catch(InterruptedException ex){
                       ex.printStackTrace();
         public void stop() {
              Thread blah = this.optimizer;
            this.optimizer = null;
            blah.interrupt();
          * @param optimizer The optimizer to set.
         public void setOptimizer(Thread optimizer) {
              this.optimizer = optimizer;
    }

Maybe you are looking for

  • Where is the underscore for ipad mini to field email

    I cannot find the underscore to send a email in the to field, so I can you underscore a name to send the e mail. How do find or underscore? I have a ipad mini

  • Changing a local administrator username and password using GP preferences permanently

    Windows 2012 AD with W7 clients I've recently set a group policy preference to rename the built in local administrator account (which was already renamed from the default Administrator) and set a new password for it. This seems to have worked. Howeve

  • Hold carriage returns in PHP MySQL database?

    I'm creating a limited news database for a not-for-profit site and I want to let admin users write a long entry which may include multiple paragraphs (i.e. carriage returns) and even bold text for subheadings would be nice. I haven't been able to fin

  • New computer transfer

    I used the Apple recommended method to transfer my iTunes library from my old computer to the new..and now, every single one of my songs has an exclamation point next to it. All of the songs were mine and legally obtained from CDs or the iTunes music

  • Collapsible Panel Stutters on Opening

    My collapsible panel is working great in IE 6 & 7, Safari (Mac & PC), Opera (Mac & PC), Firefox PC, but not in the Firefox Mac browser. When you click on the tab to show the content panel, the content flashes quickly, then animates out the way it is